如何让TagLib#在扩展名错误的文件上工作?

时间:2011-08-26 14:25:50

标签: c# .net tags taglib taglib-sharp

我正在使用 TagLib#从我的MP4文件中检索元数据。到目前为止,一切都很好,一切正常,直到我发现一个带有“错误”扩展名的文件“使得LagLib#呕吐。我发现这个文件是用jpg扩展保存的,它使TagLib抛出异常预期的SOI标记在文件的开头。 some googling之后我发现这与读取jpeg文件有关。

如果我查看文件的幻数,则返回00 00 00 20 66 74 79 70,这与正确的signature for mp4相对应。

我有以下问题:

  1. 如何在不重命名文件的情况下读取元数据。
  2. TagLib#如何确定元数据?
  3. 有什么想法吗?

    聚苯乙烯。我使用的代码是这样的:

    string file = @"D:\vs2008\Inetpub\wwwroot\Test\data\AA028578_7_2.jpg";
    TagLib.File tag = TagLib.File.Create(file);
    Console.WriteLine(tag.MimeType);
    

2 个答案:

答案 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)

为我工作