2009-06-16 6 views
5

Ich muss einen Code schreiben, mit dem ich eine m4a-Datei abfragen und die Kapitelinformationen extrahieren kann. Inklusive:Wie kann ich Kapitelmetadaten von einer m4a-Datei abfragen?

  • Kapitelnamen
  • Kapitel Startzeit
  • Kapitel Kunstwerk

Ich habe einige schnelle Suche und es scheint, wird dies als urheberrechtlich geschützte Informationen von Apple gesehen? Ich fand einige Diskussionen, aber die meisten waren von 2005. Es gab auch einige ähnliche Fragen hier, aber mehr zum Erstellen von m4a-Dateien mit Kapiteln, nicht abfragen.

Ist das nur etwas, das ich zum Selbermachen brauche, weil es keine nette Apple-API für mich gibt? Oder fehlt mir etwas Offensichtliches?

Auch im Idealfall brauche ich jede Technik, die ich benutze, um auf dem iPhone zu arbeiten.

+0

Ich habe gerade etwas Neues herausgefunden, das Ihnen helfen könnte: Das aTunes-Programm scheint Metadaten von m4a-Dateien zu erfassen. Könnte es wert sein zu sehen, wie es das macht, wenn Sie Java fließend sprechen. – BobMcGee

Antwort

1

Das Metadaten-Tags-System ist Apple-proprietär. Um mit den Tags zu arbeiten, müssen Sie (seufz) es reverse-engineeren oder mit einer Bibliothek arbeiten, die dies bereits getan hat.

Ich habe die folgenden Links gefunden, aber ehrlich gesagt scheint es, als müssten Sie den Hexeditor herausziehen.

Binary format info (basic spec for generic tags)

Perl library for working with M4A files.

+0

danke das ist irgendwie was ich dachte. verdammt. Es sieht zwar so aus, als würden sie sich in diese Richtung bewegen (zumindest im iPhone SDK).Da sie in den SDK-Dokumenten einen Eigenschaftsbereich für Podcasts haben, listet sie nur "Titel" auf. – pj4533

0

Diese Bibliothek sollte Ihre Bedürfnisse lösen, aber ist nicht auf dem Iphone ohne Jailbreak runnable ich würde denken. http://wmptagext.sourceforge.net/

oops, wenn Sie es auf iphone arbeiten müssen, gibt es wahrscheinlich eine Apple API, um diese Informationen zu erhalten./Me sieht es klingt wie Sie mit der ipodlibrary Bibliothek zu spielen, um brauchen ....

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

0

Wenn leben in der iPod-Bibliothek die Dateien in Frage, vielleicht können Sie Ihre Informationen über die MPMediaLibrary erhalten Abfrage-Schnittstelle (3.0 aufwärts).

+0

Ja, ich habe mir das genauer angesehen, speziell die Eigenschaften von MPMediaItem. Dinge wie MPMediaItemPropertyTitle und so. Aber nichts erwähnt Kapitel oder Bilder, die sich auf Kapitel beziehen. Es ist, als ob sie das einfach übersprungen hätten. Naja, ich denke, ich bin gezwungen, nur meine eigenen zu rollen? Es sei denn, jemand anderes hat eine bessere Idee? – pj4533

+0

Wenn die Dateien in der iPod-Bibliothek gespeichert sind, sind die Möglichkeiten, eigene zu rollen, ziemlich begrenzt. Ihre App ist Sandboxed. –

1

stellte sich heraus, das ist viel einfacher als etwa hier in den "Antworten" gesprochen. Nicht sicher, ob dies funktioniert auf dem iPhone, aber ich es nur in einer Befehlszeile App getestet:

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"]); 
} 

Einfach als Torte. DOH!

+0

Funktioniert nicht mit iOS (QTKit ist nicht im SDK enthalten) – pt2ph8

Verwandte Themen