我正在使用 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
}