2009-06-16 5 views
5

Мне нужно написать код, который позволит мне запросить файл m4a и извлечь информацию о главе. В том числе:Как я могу запросить метаданные главы из файла m4a?

  • глава имя
  • время глава старта
  • глава работа

Я сделал некоторые быстрый поиск и кажется, это рассматривается как собственность информации Apple? Я нашел некоторые обсуждения, но большинство из них было с 2005 года. Также здесь были некоторые подобные вопросы, но больше для СОЗДАНИЯ файлов m4a с главами, а не запросов.

Является ли это чем-то, что у меня есть для DIY, потому что для меня нет хорошего API-интерфейса Apple? Или я пропущу что-то очевидное?

Кроме того, в идеале мне нужна техника, которую я в конечном итоге использую для работы на iPhone.

+0

Я только что узнал что-то новое, что могло бы вам помочь: программа aTunes, похоже, захватывает метаданные из файлов m4a. Возможно, стоит посмотреть, как это делается, если вы свободно владеете Java. – BobMcGee

ответ

1

Система тегов метаданных является собственностью компании Apple. Чтобы работать с тегами, вы должны (sigh) реконструировать или работать с библиотекой, которая уже это сделала.

Я нашел следующие ссылки, но, честно говоря, похоже, вам придется вытащить шестнадцатеричный редактор.

Binary format info (basic spec for generic tags)

Perl library for working with M4A files.

+0

спасибо, что я понял. штопать. Похоже, что они ДВИЖУТСЯ в этом направлении (хотя бы в iPhone SDK).Потому что у них есть раздел свойств для подкастов в документах SDK, но сейчас он отображает только «Заголовок». – pj4533

0

Эта библиотека должна решить ваши потребности, но не работает на iphone без джейлбрейка, я бы подумал. http://wmptagext.sourceforge.net/

Упс, если вам нужно, чтобы работать на iphone, возможно, есть api apple, чтобы получить эту информацию./Мне кажется это звучит, как вам нужно, чтобы играть с ipodlibrary библиотеки ....

http://developer.apple.com/iphone/library/documentation/Audio/Conceptual/iPodLibraryAccess_Guide/UsingTheiPodLibrary/UsingTheiPodLibrary.html#//apple_ref/doc/uid/TP40008765-CH101-SW1

0

Если файлы расселены в библиотеке IPOD, может быть, вы можете получить информацию через MPMediaLibrary интерфейс запроса (3.0 вверх).

+0

Да, я посмотрел на это, особенно на свойства MPMediaItem. Такие вещи, как MPMediaItemPropertyTitle и т. Д. Но ничто не упоминает главы или образы, связанные с главами. Как будто они просто пропустили это. Ой, я думаю, я вынужден просто «бросить свое»? Разве кто-то другой не имеет лучшей идеи? – pj4533

+0

Если файлы хранятся в библиотеке iPod, возможности катиться сами по себе довольно ограничены. Ваше приложение изолировано. –

1

Оказывается, это гораздо проще, чем говорить здесь, в "ответах". Не уверен, если это работает на iPhone, но я проверил это в приложение командной строки:

QTMovie* movie = [QTMovie movieWithFile:@"filename.m4a" error:nil]; 

NSInteger numChapters = [movie chapterCount]; 
NSLog(@"Number of Chapters: %d", numChapters); 

NSArray* chapterArray = [movie chapters]; 
for (NSDictionary* chapDict in chapterArray) 
{ 
    NSLog(@"%@", [chapDict objectForKey:@"QTMovieChapterName"]); 
} 

Легкий как пирог. DOH!

+0

Не работает на iOS (QTKit не входит в SDK) – pt2ph8