2012-03-29 8 views
8

Ich bin auf der Suche nach einer Möglichkeit, programmgesteuert (, d. H., nicht über UI) Zugriff auf ein Benutzer iTunes Musikbibliothek von meiner iOS App.Kann ich in iOS auf die iTunes-Titelliste zugreifen?

(Ja, ich bin mir dessen bewusst, dass Apple alternative iPod-Interface-Anwendungen schreckt Das ist nicht die Frage :)

Was ich möchte, ist tun:.

  • Sammeln Sie eine Liste von Liednamen.
  • Lassen Sie meine App ein Anagramm von ihnen machen.
  • Lassen Sie den Benutzer den ursprünglichen Songnamen erraten.
  • Wenn sie richtig raten, spiele ich einen Ausschnitt des Liedes.

(Das ist nicht meine richtige Anwendung, aber es enthält all Stücke, die ich brauche.) Die Teile, die ich frage dabei sind: Wie eine Liste von Song-Namen erhalten und ein Liedname gegeben, wie man die Medien dazu bringt, es zu spielen?

Ich denke, dass AVAssetReader ist, was mich ein Lied spielen lassen wird, sobald ich seinen Namen habe, so kann ich das allein schauen (Bonuspunkte für Zeiger dort, obwohl!) - so die unterste Frage ist: Wie erhalte ich eine Liste von Titeln aus der iTunes Bibliothek eines Benutzers in iOS?

Antwort

6

Sie möchten MPMediaQuery verwenden, um ein NSArray aller Songs zu erhalten. Schauen Sie sich this Link an.

Um das Lied zu spielen, würde ich vorschlagen, AVPlayer zu verwenden.

6

Check out the docs, vor allem der Abschnitt mit dem Titel "Medienelemente programmgesteuert erhalten".

Wenn die Medienelementauswahl die gewünschte Steuerung nicht bereitstellt, können Sie die Datenbankzugriffsklassen von dieser API verwenden. Diese Klassen sind , mit denen Sie beliebig komplexe Abfragen erstellen können. Sie könnten beispielsweise für alle Songs in einem bestimmten Genre abrufen, deren Titel ein bestimmtes Wort oder eine Phrase enthalten.

programmatischen Zugriff zu verwenden ist ein zweistufiger Prozess:

Konfigurieren einer Abfrage. Bitten Sie die Abfrage, die zugehörigen Medienelemente abzurufen. Eine Medienabfrage ist eine Beschreibung dessen, was von der iPod-Bibliothek des Geräts abgerufen werden soll und wie diese abgerufenen Elemente angeordnet werden sollten. Es hat zwei Eigenschaften zu konfigurieren:

Der Filter ist die Beschreibung dessen, was abgerufen werden soll. Der Filter ist optional; Eine filterlose Abfrage entspricht der gesamten iPod-Bibliothek. Der Gruppierungstyp ist ein optionaler Schlüssel, der die zu verwendende Anordnung für abgerufene Sammlungen von Medienelementen angibt. Wenn Sie etwas mehr hineinzoomen, kann der Filter so einfach oder komplex sein, wie es Ihre Anwendung erfordert. besteht aus einer oder mehreren Instanzen eines Medieneigenschaftenprädikats. Ein Media-Eigenschaft-Prädikat ist eine Aussage über eine logische Bedingung, um jedes Medienelement gegen zu testen. Die Elemente, die den Filter erfüllen, sind , die beim Aufrufen der Abfrage aus der iPod-Bibliothek abgerufen werden.

Der optionale Gruppierungstyp legt die Anordnung und Sortierung von Sammlungen sowie die Sortierung von Medienelementen innerhalb jeder Sammlung fest. Wenn Sie zum Beispiel einen Gruppierungstyp "Album" verwenden, werden Medienelemente zurückgegeben, die nach Album gruppiert sind, wobei die Lieder jedes Albums in der Reihenfolge der Titel sortiert sind ( ).

+1

Link funktioniert nicht. – Rajesh

+0

Link funktioniert nicht. –