Как получить конкретную информацию о медиафайлах (Duration, Bitrate, FPS и т. Д.) - PullRequest
0 голосов
/ 29 января 2010

Мне нужно получить ту же информацию, что и на «Получить информацию» при использовании Finder; более конкретно, мне нужна та же информация, которая присутствует в разделе «Подробнее», например, Длительность, Битрейт, Размер, Кодеки, Аудиоканалы и т. д.

Чтобы получить основную информацию, такую ​​как размер, тип, у меня есть:

// Getting the file's attributes
NSError *error;
NSFileManager *fm = [NSFileManager defaultManager];
NSDictionary *fileInfo = [fm attributesOfItemAtPath:fileName error:&error];

Есть ли какая-нибудь нативная библиотека Какао, чтобы получить эту информацию?

Ответы [ 2 ]

4 голосов
/ 29 января 2010

Мне нужно получить ту же информацию, которую вы можете получить в «get info» при использовании Finder, точнее, мне нужна та же информация, которая присутствует в разделе «more info», например, Duration, Bitrate, Dimension, Codecs , Аудио каналы и т. Д.

Сделайте это так же, как Finder: Прожектор . (Не позволяйте слову «Углерод» в пути испугать вас: это часть Core Services, поэтому он доступен в 64-битной версии.) Просто создайте экземпляр MDItem для интересующего вас файла.

Другим способом было бы использовать собственную оболочку Foundation этой платформы (которая включена на этой странице), но затем вам нужно выполнить NSMetadataQuery, который ищет элементы, kMDItemPath - это путь к интересующему вас файлу в. Много ненужных хлопот - использование MDItem напрямую поможет вам быстрее.

Приятным бонусом является то, что это работает не только для видео и аудио файлов. Файлы изображений также содержат метаданные, которые Finder и ваше приложение могут отображать.

0 голосов
/ 29 января 2010

Создайте экземпляр QTMovie, а затем запросите его свойства с сообщением -movieAttributes.

...