Jak mogę uzyskać plik muzyczny biblioteki ipod w odtwarzaczu AVAudioPlayer?Jak odtwarzać plik biblioteki iPoda w odtwarzaczu AVPlayer
Odpowiedz
Zestaw SDK nie ma możliwości odczytu plików z biblioteki iPoda (ponieważ konieczne jest użycie z nim AVAudioPlayer
), prawdopodobnie z powodów antypirackich. Aby odtwarzać elementy biblioteki iPoda, użyj klasy MPMusicPlayerController
.
Edytuj: To nie jest dłużej dokładne. Zobacz poniżej odpowiedzi opisujące korzystanie z klasy AVPlayer.
To nie jest prawda, zobacz inne odpowiedzi, które dokumentują, jak uzyskać dostęp do biblioteki iPoda do użycia z AVAudioPlayer. –
To mogło być prawdą w grudniu 2009, ale jest to możliwe teraz, jak wyjaśnia Steve Tranby w swojej odpowiedzi. – prendio2
Czy istnieje możliwość uzyskania informacji o dB-metering w MPMusicPlayerController
? Być może zainicjowanie nagrywania równoległego w trybie AVAudioSession
wykonałoby zadanie? Potrzebuję wartości dB do zbudowania jakiegoś spektrografu objętościowego.
2-letnie pytanie, ale dodam odpowiedź dla każdego, kto tutaj ląduje. Aby uzyskać poziom dB z audio, użyj AudioStreamBasicDescription Core-Audio (https://developer.apple.com/library/mac/documentation/musicaudio/reference/CoreAudioDataTypesRef/Reference/reference.html#//apple_ref/doc/uid/TP40004488-CH3-SW2) z danymi audio w postaci strumienia. Używam adresu URL z biblioteki ipod dla zasobu i używam danych pod adresem URL z core-audio. – jarryd
Czy możesz rozwinąć tę odpowiedź nieco bardziej? –
@ Helium3: Czy Twoje rozwiązanie działa również z plikami chronionymi przez IOS10 i DRM? –
Tak, można odtwarzać utwory z biblioteki iPodów przy użyciu zestawu SDK bez odwoływania się do klasy MPMusicPlayerController
.
Im bardziej podstawowy AVPlayer
klasa może obsługiwać pliki audio z biblioteki iPoda przy użyciu wartości NSUrl
od utworu MPMediaItemPropertyAssetURL
nieruchomości. Musisz wykonać znacznie więcej pracy, aby wszystko poprawnie skonfigurować, ale można to zrobić.
Nie wiem jak, ale za pomocą AVAplat = yer to nie jest workng. –
Jak wspomina David, jest więcej pracy do wykonania niż to, na przykład, musisz zarządzać odtwarzaniem następnego utworu w zbiorze elementów multimedialnych, ale tutaj jest jeden sposób na zrobienie tego za pomocą zestawu MPMediaItems wybranych przez użytkownika z iPoda. AssetURL jest to, czego używasz, to daje ścieżkę do pliku MP3 (np ipod-biblioteka: //item/item.mp3 id = -6889145242935454020)
NSURL *anUrl = [[mediaItems objectAtIndex: 0] valueForProperty:MPMediaItemPropertyAssetURL];
self.audioPlayerMusic = [[[AVPlayer alloc] initWithURL:anUrl] retain];
[self.audioPlayerMusic play];
Soory, nie może odtwarzać dźwięku, z AVPlayer. Pomoc jest potrzebna. –
To ** nie działa ** w przypadku ** utworów chronionych DRM ** (takich jak te z subskrypcji _Apple Music_) lub tych, które nie są dostępne ** offline **, ale w chmurze. Jeśli jesteś zainteresowany sprawdzeniem, czy muzyka jest chroniona DRM lub w odtwarzaniu muzyki chronionej DRM we właściwy sposób, przeczytaj moją szczegółową odpowiedź tutaj: https://stackoverflow.com/a/47694472/4331787 –
Dzięki za odpowiedź. Tutaj wyjaśniłeś, jak wykrywać ścieżkę drm. Proszę, powiedz mi, jak to grać. Używam AVPlayera, ale nie gra. Mogłem grać używając MPMusicPlayer, ale moim wymaganiem jest to, że potrzebowałem grać używając AVFoundation. –
- (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];
}
polecam patrząc na http : //superuser.com/ również możesz podać więcej szczegółów. Jakiego programu używasz dokładnie i czy zrobiłeś do tej pory jakieś badania? – Guvante
AVAudioPlayer to klasa używana do ... no ... odtwarzania dźwięku na iPhonie. Wiesz, kiedy programujesz dla niego. Pytanie z pewnością dotyczy programowania. – aehiilrs