Я использую TagLib # для извлечения метаданных из моего файла MP4.Пока все хорошо, все работает отлично, пока я не обнаружил файл с «неправильным» расширением, которое сделало LagLib # puke. Я обнаружил, что этот файл был сохранен с расширением jpg и заставил TagLib выбросить исключение Ожидаемый маркер SOIв начале файла. После некоторого поиска в Google Я обнаружил, что это связано с чтением файлов JPEG.
Если я посмотрю на магическое число для файла, который он возвращает 00 00 00 20 66 74 79 70
, что соответствует правильной подписи для mp4 .
У меня есть следующие вопросы:
- Как я могу прочитать метаданные без переименованияфайл.
- Как 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);