// 获取输出文件名 public static string GetOutputName(SongVO songVO, SearchInfo searchInfo) { switch (searchInfo.OutputFileNameType) { case OUTPUT_FILENAME_TYPE_ENUM.NAME_SINGER: return(songVO.Name + " - " + songVO.Singer); case OUTPUT_FILENAME_TYPE_ENUM.SINGER_NAME: return(songVO.Singer + " - " + songVO.Name); case OUTPUT_FILENAME_TYPE_ENUM.NAME: return(songVO.Name); default: return(""); } }
public static string GetOutputLyric(string originLyric, string originTLyric, SearchInfo searchInfo) { // 歌词合并 string[] formatLyrics = FormatLyric(originLyric, originTLyric, searchInfo); // 两位小数 SetTimeStamp2Dot(ref formatLyrics, searchInfo.DotType); string result = ""; foreach (string i in formatLyrics) { result += i + "\r\n"; } return(result); }
// 获取歌词信息 public static LyricVO GetLyricVO(LyricResult lyricResult, SearchInfo searchInfo, out string errorMsg) { LyricVO vo = new LyricVO(); if (searchInfo == null) { errorMsg = ErrorMsg.SONG_NOT_EXIST; return(vo); } if (lyricResult == null) { errorMsg = ErrorMsg.LRC_NOT_EXIST; return(vo); } try { if (lyricResult.Code == 200) { string originLyric = "", originTLyric = ""; if (lyricResult.Lrc != null) { originLyric = lyricResult.Lrc.Lyric; } if (lyricResult.Tlyric != null) { originTLyric = lyricResult.Tlyric.Lyric; } vo.Lyric = originLyric; vo.TLyric = originTLyric; vo.Output = GetOutputLyric(originLyric, originTLyric, searchInfo); } errorMsg = ErrorMsg.SUCCESS; } catch (Exception ew) { errorMsg = ew.Message; Console.WriteLine(ew); } return(vo); }
// 歌词格式化 private static string[] FormatLyric(string originLrc, string translateLrc, SearchInfo searchInfo) { SHOW_LRC_TYPE_ENUM showLrcType = searchInfo.ShowLrcType; // 如果不存在翻译歌词,或者选择返回原歌词 string[] originLrcs = SplitLrc(originLrc); if (translateLrc == null || translateLrc == "" || showLrcType == SHOW_LRC_TYPE_ENUM.ONLY_ORIGIN) { return(originLrcs); } // 如果选择仅译文 string[] translateLrcs = SplitLrc(translateLrc); if (showLrcType == SHOW_LRC_TYPE_ENUM.ONLY_TRANSLATE) { return(translateLrcs); } string[] res = null; switch (showLrcType) { case SHOW_LRC_TYPE_ENUM.ORIGIN_PRIOR: res = SortLrc(originLrcs, translateLrcs, true); break; case SHOW_LRC_TYPE_ENUM.TRANSLATE_PRIOR: res = SortLrc(originLrcs, translateLrcs, false); break; case SHOW_LRC_TYPE_ENUM.MERGE_ORIGIN: res = MergeLrc(originLrcs, translateLrcs, searchInfo.LrcMergeSeparator, true); break; case SHOW_LRC_TYPE_ENUM.MERGE_TRANSLATE: res = MergeLrc(originLrcs, translateLrcs, searchInfo.LrcMergeSeparator, false); break; } return(res); }