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

C# 如何使TagLib在扩展名错误的文件上工作?,c#,.net,tags,taglib,taglib-sharp,C#,.net,Tags,Taglib,Taglib Sharp,我正在使用TagLib#从我的MP4文件中检索元数据。到目前为止,一切正常,直到我发现一个文件的“错误”扩展名使LagLib#呕吐。我发现这个文件是用jpg扩展名保存的,它使TagLib在文件开头抛出异常预期的SOI标记。在我发现这与读取jpeg文件有关之后 如果我查看文件的幻数,它返回的是与正确数字相对应的00 00 00 20 66 74 79 70 我有以下问题: 如何在不重命名文件的情况下读取元数据 TagLib如何确定元数据 有什么想法吗 注:我使用的代码如下: string file

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

如果我查看文件的幻数,它返回的是与正确数字相对应的
00 00 00 20 66 74 79 70

我有以下问题:

  • 如何在不重命名文件的情况下读取元数据
  • TagLib如何确定元数据
  • 有什么想法吗

    注:我使用的代码如下:

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

    您可以指定mime类型(强制):

    我不知道它是如何装入TagLibSharp的

    TagLib.File.Create(file, "audio/mp3", ReadStyle.None)
    

    为我工作

    好吧,我可以随时使用我的幻数嗅探器,但我希望TagLib能做这样的事情。你也可以使用
    TagLib.Mpeg4.File.Create(File);
    TagLib.File.Create(file, "audio/mp3", ReadStyle.None)