我正在使用 TagLib#从我的MP4文件中检索元数据。到目前为止,一切都很好,一切正常,直到我发现一个带有“错误”扩展名的文件“使得LagLib#呕吐。我发现这个文件是用jpg扩展保存的,它使TagLib抛出异常预期的SOI标记在文件的开头。 some googling之后我发现这与读取jpeg文件有关。
如果我查看文件的幻数,则返回00 00 00 20 66 74 79 70
,这与正确的signature for mp4相对应。
我有以下问题:
有什么想法吗?
聚苯乙烯。我使用的代码是这样的:
string file = @"D:\vs2008\Inetpub\wwwroot\Test\data\AA028578_7_2.jpg";
TagLib.File tag = TagLib.File.Create(file);
Console.WriteLine(tag.MimeType);
答案 0 :(得分:3)
您可以指定mime类型(强制它):
string file = @"D:\vs2008\Inetpub\wwwroot\Test\data\AA028578_7_2.jpg";
TagLib.File tag = TagLib.File.Create(file, "video/mp4", TagLib.ReadStyle.Average);
Console.WriteLine(tag.MimeType);
我不知道它是如何在TagLibSharp中加载的。
答案 1 :(得分:0)
TagLib.File.Create(file, "audio/mp3", ReadStyle.None)
为我工作