TagLib-Sharp - 它可以读/写章节标记吗?

时间:2015-01-06 19:00:55

标签: taglib-sharp

我正在尝试阅读mp4视频文件中的章节。我在File.Tags列表中没有看到这一点,但我希望有办法通过请求chap atom来获取它们。

我确实试过了mp4chap,但它只给了我第一章。我认为它可能只适用于音频文件。

1 个答案:

答案 0 :(得分:0)

我是mp4chap lib的作者。

是的,你是对的。 mp4chap库仅用于音频文件。

图书馆是开源的,非常简单,您可以自由修改它。

此处库仅分析第一首曲目(请参阅下面的代码)。您可以使用此代码并从mp4曲目中获取更多数据。

http://mp4chap.codeplex.com/SourceControl/latest#Mp4Chapters/ChapterExtractor.cs

    private void ReadChapters(MoovInfo moovBox)
    {
        var soundBox = moovBox.Tracks.Where(b => b.Type == "soun").ToArray();
        if (soundBox.Length == 0) return;
        if (soundBox[0].Chaps != null && soundBox[0].Chaps.Length > 0)
        {
            var cb = new HashSet<uint>(soundBox[0].Chaps);
            var textBox = moovBox.Tracks.Where(b => b.Type == "text" && cb.Contains(b.Id)).ToArray();
            if (textBox.Length == 0) return;
            ReadChaptersText(textBox[0]);
        }
    }