Ich suche nach einer Möglichkeit, programmgesteuert ( d. h. , nicht über UI) auf eine iTunes Musikbibliothek eines Benutzers von meiner iOS App zuzugreifen.
(Ja, mir ist bekannt, dass Apple alternative iPod-Interface-Apps abhält. Das ist nicht die Frage:)
Was ich gerne machen würde ist:
- Sammeln Sie eine Liste mit Songnamen.
- Lassen Sie meine App ein Anagramm von ihnen erstellen.
- Lassen Sie den Benutzer den ursprünglichen Songnamen erraten.
- Wenn sie richtig raten, spiele ich einen Ausschnitt des Songs.
(Das ist nicht meine wirkliche Anwendung, aber sie enthält alle Stücke, die ich brauche.) Die Teile, nach denen ich frage, sind: Wie man eine Liste von Songnamen bekommt und, wie man die Medien bekommt um es zu spielen?
Ich denke, AVASsetReader ist das, was mir erlauben wird, ein Lied zu spielen, sobald ich seinen Namen habe, also kann ich das selbst nachschlagen (Bonuspunkte für Hinweise dort!) - also ist die unterste Frage : Wie erhalte ich eine Liste von Titeln aus der iTunes Bibliothek eines Benutzers in iOS?
Sie sollten MPMediaQuery verwenden, um ein NSArray aller Songs zu erhalten. Schauen Sie sich diesen Link an.
Um den Song abzuspielen, würde ich den AVPlayer empfehlen.
Lesen Sie die Dokumentation , insbesondere den Abschnitt" Programmgesteuertes Abrufen von Medienelementen ".
Wenn die Medienelementauswahl die gewünschte Steuerung nicht bietet, können Sie Verwenden Sie die Datenbankzugriffsklassen von dieser API. Diese Klassen sind entworfen, damit Sie beliebig komplexe Abfragen erstellen können. Du könntest, für B. alle Songs in einem bestimmten Genre, deren Titel ein bestimmtes Wort oder eine bestimmte Phrase enthalten.
Die Verwendung des programmatischen Zugriffs erfolgt in zwei Schritten:
Konfigurieren Sie eine Abfrage. Bitten Sie die Abfrage, die zugehörigen Medienelemente abzurufen. Eine Medienabfrage ist eine Beschreibung dessen, was vom Gerät abgerufen werden soll iPod-Bibliothek und wie diese abgerufenen Elemente angeordnet werden sollten. Es hat zwei zu konfigurierende Eigenschaften:
Der Filter ist die Beschreibung dessen, was abgerufen werden soll. Der Filter ist wahlweise; Eine filterlose Abfrage entspricht der gesamten iPod-Bibliothek. Das Gruppierungstyp ist ein optionaler Schlüssel, der die zu verwendende Anordnung angibt für abgerufene Sammlungen von Medienelementen. Zoomen ein bisschen mehr, die Der Filter kann so einfach oder komplex sein, wie es Ihre Anwendung erfordert. Es besteht aus einer oder mehreren Instanzen eines Medieneigenschaftenprädikats. EIN Media-Eigenschaft-Prädikat ist eine Aussage über eine zu testende logische Bedingung jedes Medienelement gegen. Die Elemente, die den Filter erfüllen, sind Wird beim Aufrufen der Abfrage aus der iPod-Bibliothek abgerufen.
Der optionale Gruppierungstyp spezifiziert die Anordnung und Sortierung von Sammlungen sowie die Sortierung von Medienelementen in jedem Sammlung. Zum Beispiel ergibt sich die Verwendung eines Gruppierungstyps "Album" Medienelemente werden nach Album gruppiert und die Songs jedes Albums sortiert in Track-Reihenfolge.