Wie die iPod-Bibliothek-Datei im AVPlayer spielen
-
21-09-2019 - |
Frage
Wie kann ich eine iPod Bibliothek Musikdatei in AVAudioPlayer bekommen?
Lösung
Das SDK hat keine Vorkehrung für Dateien aus der iPod-Bibliothek zu lesen (wie Sie mit ihm zu verwenden AVAudioPlayer
tun müssen, würden), wahrscheinlich für Anti-Piraterie-Gründe. Um iPod Bibliothekselemente zu spielen, verwenden Sie die MPMusicPlayerController
Klasse.
Edit:.. Das ist nicht mehr genau Siehe unten Antworten, die die Verwendung der AVPlayer Klasse beschreiben
Andere Tipps
Wie David erwähnt gibt es mehr Arbeit, als dies zu tun, zum Beispiel, das Sie verwalten müssen, um den nächsten Titel in einer Sammlung von Medienobjekten zu spielen, aber hier ist eine Möglichkeit, es mit einem Satz von MPMediaItems, dass ein Benutzer ausgewählt zu tun der iPod Picker. Die AssetURL ist, was Sie verwenden, es gibt Ihnen einen Pfad zur MP3-Datei (zum Beispiel iPod-Bibliothek: //item/item.mp3 id = -6889145242935454020)
NSURL *anUrl = [[mediaItems objectAtIndex: 0] valueForProperty:MPMediaItemPropertyAssetURL];
self.audioPlayerMusic = [[[AVPlayer alloc] initWithURL:anUrl] retain];
[self.audioPlayerMusic play];
Ja, können Sie Songs aus der iPod-Bibliothek mit dem SDK, ohne auf die MPMusicPlayerController
Klasse spielen.
Je mehr Grund AVPlayer
Klasse Audiodateien vom iPod-Bibliothek unter Verwendung des NSUrl
Wertes aus dem Song MPMediaItemPropertyAssetURL
Eigentum umgehen kann. Sie haben viel mehr Arbeit zu tun alles Setup richtig zu bekommen, aber es kann getan werden.
Gibt es eine Möglichkeit, Informationen über dB-metering in MPMusicPlayerController
zu bekommen? Vielleicht Initiieren parallel eine AVAudioSession
für die Aufnahme der Arbeit tun würde ?? Ich brauche dB-Wert eine Art von Volumen-Spektrographen zu bauen.
- (void)mediaPicker:(MPMediaPickerController *)mediaPicker didPickMediaItems:(MPMediaItemCollection *)mediaItemCollection {
NSURL *url = [[mediaItemCollection.items objectAtIndex:0] valueForProperty:MPMediaItemPropertyAssetURL];
NSError *error;
self.player = [[AVAudioPlayer alloc] url error:&error];
if (!error) {
[self.player prepareToPlay];
[self.player play];
}
[mediaPicker dismissModalViewControllerAnimated:YES];
}