2009-06-16 5 views
5

J'ai besoin d'écrire du code pour pouvoir interroger un fichier m4a et extraire les informations du chapitre. Y compris:Comment puis-je interroger des métadonnées de chapitre à partir d'un fichier m4a?

  • chapitre Nom
  • chapitre Heure de début
  • oeuvre chapitre

Je l'ai fait une recherche rapide et il semble que ce soit considéré comme des informations confidentielles par Apple? J'ai trouvé quelques discussions, mais la plupart venaient de 2005. Il y a aussi eu des questions similaires ici, mais plus pour CRÉER des fichiers m4a avec des chapitres, pas d'interrogation.

Est-ce que c'est juste quelque chose que j'ai à bricoler, parce qu'il n'y a pas une API Apple pour moi? Ou est-ce que je manque quelque chose d'évident?

De même, idéalement, j'ai besoin de la technique que j'utilise pour travailler sur l'iPhone.

+0

Je viens de découvrir quelque chose de nouveau qui pourrait vous aider: le programme aTunes semble récupérer des métadonnées à partir de fichiers m4a. Peut-être intéressant de voir comment cela fonctionne, si vous parlez couramment Java. – BobMcGee

Répondre

1

Le système de balises de métadonnées est propriétaire d'Apple. Pour travailler avec les tags, vous devez (sigh) effectuer une ingénierie inverse ou travailler avec une bibliothèque qui l'a déjà fait.

J'ai trouvé les liens suivants, mais honnêtement, il semble que vous deviez sortir l'éditeur hexadécimal.

Binary format info (basic spec for generic tags)

Perl library for working with M4A files.

+0

merci c'est un peu ce que je pensais. Zut. Il semble qu'ils vont dans cette direction (au moins dans l'iPhone SDK).Parce qu'ils ont une section de propriétés pour les podcasts dans les documents du SDK, mais pour l'instant il ne mentionne que "Titre". – pj4533

0

cette bibliothèque devrait résoudre vos besoins, mais n'est pas exécutable sur iphone sans jailbreaking je pense. Oups si vous en avez besoin pour travailler sur iphone il y a probablement une pomme pour obtenir cette info./Me semble il semble que vous devez jouer avec la bibliothèque ipodlibrary ....

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

0

Si les fichiers en question en direct dans la bibliothèque iPod, peut-être vous pouvez obtenir vos informations via le MPMediaLibrary interface de requête (3.0 vers le haut).

+0

Ouais je me suis penché là-dessus, en particulier sur les propriétés de MPMediaItem. Des choses comme MPMediaItemPropertyTitle et autres. Mais rien ne mentionne les chapitres ou les images liés aux chapitres. C'est comme si ils avaient simplement sauté dessus. Eh bien, je suppose que je suis obligé de "rouler le mien"? A moins que quelqu'un d'autre ait une meilleure idée? – pj4533

+0

Si les fichiers se trouvent dans la bibliothèque de l'iPod, les possibilités de lancer les vôtres sont assez limitées. Votre application est en bac à sable. –

1

Transforme c'est beaucoup plus simple que parlé ici dans les "réponses". Je ne sais pas si cela fonctionne sur l'iPhone, mais je viens de tester dans une application de ligne de commande:

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

Facile comme bonjour. DOH!

+0

Ne fonctionne pas sur iOS (QTKit n'est pas inclus dans le SDK) – pt2ph8

Questions connexes