11
votes

Lecture des informations MP3 à l'aide de l'objectif c

J'ai MP3 Fichiers stockés sur l'iPhone et je suis mon application Doit pouvoir lire les informations ID3 , c'est-à-dire une longueur en secondes, artiste, etc. Est-ce que quelqu'un sait comment faire cela ou quelle bibliothèque utiliser dans Objective-C?

Vos pensées sont très appréciées.


3 commentaires

Lorsque vous dites que vous avez des fichiers MP3 stockés sur le téléphone, vous voulez dire que votre application a des fichiers MP3 quelque part dans sa buffe (dans votre paquet ou que vous avez téléchargé) ou que vous voulez dire que l'utilisateur les a chargés via iTunes? Interroger le lecteur multimédia pour plus d'informations sur les chansons sur le périphérique est un problème totalement différent de l'analyse des fichiers d'informations.


Cela a été répondu déjà dans cette question: http: / /Stackoverflow.com/questions/1138118/how-to-extract -ID -Tags-from-mp3-fichiers -In-cocoa


Bonjour Louis, les fichiers MP3 sont des fichiers téléchargés à partir de web et stockés dans des documents dossier de ma candidature. Merci d'avoir souligné la confusion. Tony


3 Réponses :


3
votes

Il n'y a pas beaucoup de bibliothèques d'analyse ID3 qui ne sont pas gplées. Il y a sur l'objectif-C Framefer qui pourrait probablement être modifié pour travailler sur le iPhone quand lié statiquement, mais c'est LGPL. Afin de satisfaire les termes du LGPL avec un binaire lié statilement, vous devez fournir suffisamment les composants intermédiaires que quelqu'un pourrait le désigner avec sa propre version de la bibliothèque, qui est difficile (mais pas impossible) pour une application iPhone. Bien sûr, depuis que je n'ai pas été dans une position où j'ai dû faire cela, je ne l'ai pas réellement discuté avec un avocat et que je ne suis pas un seul, vous ne devriez pas prendre cela comme faisant autorité.

Votre meilleur pari si vous ne vous sentez pas comme la consultation d'un avocat est d'utiliser une bibliothèque sous licence plus libérale C comme libid3 et envelopper cela dans certaines classes de l'objectif C. Je recommanderais également juste directement le code plutôt que de traiter toutes les problèmes de la bibliothèque statique de la bibliothèque statique, mais c'est juste une chose de style personnel.


4 commentaires

ID3.org Avait une vue d'ensemble des bibliothèques disponibles. Mais il semble qu'ils sont actuellement en panne. Vous pouvez essayer la version en cache de google: 209.85.135.132/Search?q=cache:khgjn7xyyeoj:www.id3.org/...


Lors de la liaison d'une bibliothèque LGPL, la source complète de votre application doit être publiée pour adhérer aux termes de la licence LGPL.


Lglv2.1 ne nécessite pas de code source à relâcher, il nécessite des objets intermédiaires "Si vous reliez un autre code avec la bibliothèque, vous devez fournir des fichiers d'objet complets aux destinataires, de sorte qu'ils peuvent les désigner avec la bibliothèque après avoir apporté des modifications à la la bibliothèque et la recompilation. Et vous devez leur montrer ces termes afin qu'ils connaissent leurs droits. "


Intéressant; Je n'étais pas au courant de cela.



5
votes

Regardez dans le cadre du lecteur multimédia:

  • guide
  • Référence
  • Toute la documentation

    Cela nécessite que le MP3 en question fait partie de la bibliothèque iPod sur le téléphone.

    Par exemple, déterminant le nom de chaque fichier multimédia au téléphone (y compris les films, les podcasts, etc.): xxx

    Il apparaît que les propriétés suivantes sont disponibles:

    • mmediAitemPropertymediatype
    • mecmediatempropertytitle
    • mecmediatempropertyalBumtititer
    • mecmediatempropertyartiste
    • mpmediatempropertyalbumartist
    • mpmediatempropertyGenre
    • MPMediAtEmPropertyCompositeur
    • mecmediatempropertyplayBackDuration
    • mpmediAtemProperyalBumTrackNumber
    • mpmediatempropertyalbumTrackCount
    • mecmmediatempropertydiscnumber
    • mecmediatempropertydisccount
    • mpmediatempropertyartwork
    • mecmediatempropertylyrics
    • mpmediatempropertyisCompilation

      Cela sans passer dans le cadre du joueur multimédia sera quelque peu difficile et nécessitera un cadre externe.


1 commentaires

Il ne peut pas utiliser E Media Player car les fichiers sont des MP3 dans son dossier Documents Apps, et non de la musique qui fait partie de la collection de musique Wide System Wide.



19
votes

Les informations ID3 peuvent être en lecture de la récupération de la propriété KaudiOfilePropertyInfoDictionardictionner d'un fichier audio à l'aide de l'audiofilegetProperty de la fonction audiooolbox.

Une explication détaillée est disponible sur iPhonedevbook.com

EDIT: Le lien d'origine est maintenant en panne. Informez a un code d'exemple similaire, mais ce n'est pas aussi complet.


3 commentaires

Lien fourni demande des autorisations :(


La page n'est plus disponible. J'ai remplacé par un lien similaire, mais moins complet.


Cette réponse Stackoverflow est claire et donne un code source.