重生三次 2017-06-18 10:46 采纳率: 0%
浏览 798

c#解析LRC出现一个问题

图片说明

  • 写回答

4条回答 默认 最新

  • 重生三次 2017-06-18 10:41
    关注

    public static Lrc InitLrc(string LrcPath)
    {
    Lrc lrc = new Lrc();
    using (FileStream fs = new FileStream(LrcPath, FileMode.Open, FileAccess.Read, FileShare.Read))
    {
    string line;
    using (StreamReader sr = new StreamReader(fs, Encoding.Default))
    {
    while ((line = sr.ReadLine()) != null)
    {
    if (line.StartsWith("[ti:"))
    {
    lrc.Title = SplitInfo(line);
    }
    else if (line.StartsWith("[ar:"))
    {
    lrc.Artist = SplitInfo(line);
    }
    else if (line.StartsWith("[al:"))
    {
    lrc.Album = SplitInfo(line);
    }
    else if (line.StartsWith("[by:"))
    {
    lrc.LrcBy = SplitInfo(line);
    }
    else if (line.StartsWith("[offset:"))
    {
    lrc.Offset = SplitInfo(line);
    }
    else
    {
    Regex regex = new Regex(@"D:\lrc.lrc", RegexOptions.Compiled);
    MatchCollection mc = regex.Matches(line);
    double time = TimeSpan.Parse("00:" + mc[0].Groups[1].Value).TotalSeconds;
    string word = mc[0].Groups[2].Value;
    lrc.LrcWord.Add(time, word);
    }
    }
    }
    }
    return lrc;
    }

    评论

报告相同问题?