API метаданных QuickTime и iTunes - PullRequest
       11

API метаданных QuickTime и iTunes

0 голосов
/ 21 сентября 2011

Я пытаюсь установить некоторые метаданные в файле .mov с помощью API-интерфейсов метаданных quicktime, чтобы они отображались в iTunes. У меня это работает для большинства свойств, но я не могу заполнить поле описания. Вот код, который я использую (сокращенный, чтобы показать только то, что я считаю соответствующей частью).

const char* cString = ([@"HELLO WORLD" cStringUsingEncoding:NSMacOSRomanStringEncoding]);

QTMovie* qtMovie = [[QTMovie alloc] initWithFile:filename error:&error];
Movie movie = [qtMovie quickTimeMovie];

QTMetaDataRef metaDataRef = NULL;
OSStatus err = noErr;
err = QTCopyMovieMetaData(movie, &metaDataRef);

QTMetaDataItem outItem;
QTMetaDataAddItem(metaDataRef,
                  kQTMetaDataStorageFormatiTunes, 
                  kQTMetaDataKeyFormatCommon,
                  (const UInt8 *)&key,
                  sizeof(key),
                  (const UInt8 *)cString,
                  strlen(cString),
                  kQTMetaDataTypeUTF8,
                  &outItem);

Я нашел следующую ссылку, заявив, что для свойств информации и описания я должен использовать kQTMetaDataStorageFormatQuicktime, но, похоже, это не имеет никакого значения. У кого-нибудь еще получалось заполнить столбец описания при импорте метаданных в видео iTunes?

http://lists.apple.com/archives/quicktime-api/2006/May/msg00115.html

Ответы [ 2 ]

1 голос
/ 22 сентября 2011

Я закончил тем, что использовал AtomicParsley http://atomicparsley.sourceforge.net/ без каких-либо проблем, что также дает преимущество в том, что он поддерживает файлы mp4 и m4v, а не только файлы MOV, что также мне нужно. С этим описания оказались в порядке. Он также был намного проще в использовании, чем API QTMetaData.

Редактировать: Аааа .. Только что обнаружил, что это приложение не работает с MOV-файлами. Это будет работать с файлами mp4 и m4v, но я предполагаю, что оригинальный вопрос все еще стоит, потому что я хотел бы также поддерживать файлы mov.

0 голосов
/ 26 сентября 2011

Наконец-то понял это с помощью этого поста и некоторой глубокой отладки содержимого моих помеченных носителей.

Получение имени ключа на AVMetadataItem для AVAsset в iOS

Я установил формат данных kQTMetaDataStorageFormatiTunes, а формат ключа - kQTMetaDataKeyFormatiTunesShortForm. А потом я использую теги id3, как в посте выше. Общие ключи (kQTMetaDataCommonKeyArtist, kQTMetaDataCommonKeyComment) обычно не будут работать, если ваша цель - просмотреть данные в iTunes. Кажется, что некоторые из них все еще работают, но в целом они не отображаются должным образом на своих коллег по id3.

...