Comment puis-je obtenir le contenu (données brutes/échantillons) d'une piste iPod? J'ai vu des applications comme "Ringtone Designer" et iMovie qui peuvent le faire, mais je n'ai aucune idée de quelle API ils utilisent ou de ce qu'ils font. Je pourrais imaginer qu'iMovie utilise des apis privés, mais "Ringtone Designer" est une application tierce, donc cela doit être possible avec les api-fonctions publiques.Obtention des données musicales d'une piste iPod
10
A
Répondre
14
Je ne l'ai pas fait moi-même, mais d'après la documentation ce sont les étapes (environ):
- Créer un
MPMediaQuery
pour récupérer un ou plusieurs objetsMPMediaItem
de la bibliothèque iPod. - Demandez ces éléments multimédias pour leur URL avec
-[MPMediaItem valueForProperty: MPMediaItemPropertyAssetURL]
. Créez unAVURLAsset
à partir de l'URL. Créez une instance deAVAssetReader
pour l'actif. - Créez une ou plusieurs instances de
AVAssetReaderTrackOutput
(une pour chaque piste de l'actif) et ajoutez-les au lecteur de données avec-[AVAssetReader addOutput:]
. - Appelez
-[AVAssetReader startReading]
. - Appelez
-copyNextSampleBuffer
pour chacun de vos objetsAVAssetReaderTrackOutput
jusqu'à ce que vous ayez lu toutes les données.
Voir la documentation pour toutes ces classes pour les détails.
Souhaitez-vous fournir un exemple de code? s'il vous plaît, ou référence –