3

我正在使用 TagLib 从 MP4 和 MP3 文件中读取 ID3 数据。通常它工作得很好,但我有一个文件不会显示信息。

调试时,我看到我有一个损坏,原因是:Box header specified a size of {0} bytes but only {1} bytes left in the file.

有人可以解释这意味着什么,如果这是我可以解决的问题?文件只是损坏了吗?

我用来读取标签的代码是:

using (var fileStream = new FileStream(filePath, FileMode.Open))
{
    var file = File.Create(new StreamFileAbstraction(filePath, fileStream, fileStream));
    var isCorrupt = file.CorruptionReasons != null && file.CorruptionReasons.Any();
    var title = isCorrupt ? Path.GetFileName(filePath) : file.Tag.Title;
    var track = isCorrupt ? 0 : file.Tag.Track;

    //Removed for brevity
}
4

0 回答 0