2010-10-11 6 views
10

Wie kann ich den Inhalt (Rohdaten/Sample-Daten) eines iPod-Tracks abrufen? Ich habe Apps wie "Ringtone Designer" und iMovie gesehen, die das können, aber ich habe keine Ahnung, welche API sie verwenden oder was sie tun. Ich könnte mir vorstellen, dass iMovie private Apis verwendet, aber "Ringtone Designer" ist eine App von Drittanbietern, also muss es mit den öffentlichen API-Funktionen möglich sein.Ermitteln der Musikdaten eines iPod-Tracks

Antwort

14

Ich habe das nicht selbst getan, aber nach der Dokumentation das sind die Schritte (ungefähr):

  1. ein MPMediaQuery Erstellen Sie ein oder mehr MPMediaItem Objekte aus der iPod-Bibliothek abrufen.
  2. Fragen Sie diese Medienelemente nach ihrer URL mit -[MPMediaItem valueForProperty: MPMediaItemPropertyAssetURL].
  3. Erstellen Sie eine AVURLAsset von der URL.
  4. Erstellen Sie eine Instanz von AVAssetReader für das Asset.
  5. Erstellen Sie eine oder mehrere Instanzen von AVAssetReaderTrackOutput (eine für jede Spur des Assets) und fügen Sie sie dem Asset-Lesegerät mit -[AVAssetReader addOutput:] hinzu.
  6. Anruf -[AVAssetReader startReading].
  7. Rufen Sie -copyNextSampleBuffer für jedes Ihrer AVAssetReaderTrackOutput Objekte, bis Sie alle Daten gelesen haben.

Weitere Informationen finden Sie in der Dokumentation zu allen diesen Klassen.

+0

Würden Sie Beispielcode bereitstellen? bitte oder Referenz –

Verwandte Themen