3

MP4 ファイルからメタデータを取得するためにTagLib#を使用しています。これまでのところ、LagLib# puke を作成する「間違った」拡張子を持つファイルを見つけるまで、すべて正常に動作します.このファイルが jpg 拡張子で保存され、TagLib が例外をスローしたことを発見しました開始時に SOI マーカーが期待されますいくつかのグーグル検索の後、これは jpeg ファイルの読み取りに関係していることがわかりました

ファイルのマジック ナンバーを見ると、mp400 00 00 20 66 74 79 70の正しい署名に対応するが返されます。

次の質問があります。

  1. ファイルの名前を変更せずにメタデータを読み取るにはどうすればよいですか。
  2. TagLib# はどのようにメタデータを決定しますか?

何か案は?

Ps。私が使用したコードは次のようなものでした:

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

2 に答える 2

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 にどのように読み込まれるのかわかりません。

于 2011-08-26T14:34:21.840 に答える