如何将ipod库音乐文件导入AVAudioPlayer?
答案 0 :(得分:20)
正如大卫所提到的,还有更多的工作要做,比如你需要管理在媒体项目集合中播放下一首曲目,但是这里有一种方法可以使用一组用户从中选择的MPMediaItem来完成iPod Picker。您使用AssetURL,它为您提供MP3文件的路径(例如ipod-library://item/item.mp3?id = -6889145242935454020)
NSURL *anUrl = [[mediaItems objectAtIndex: 0] valueForProperty:MPMediaItemPropertyAssetURL];
self.audioPlayerMusic = [[[AVPlayer alloc] initWithURL:anUrl] retain];
[self.audioPlayerMusic play];
答案 1 :(得分:5)
是的,您可以使用SDK播放iPod库中的歌曲而无需使用MPMusicPlayerController
课程。
更基本的AVPlayer
类可以使用歌曲NSUrl
属性中的MPMediaItemPropertyAssetURL
值处理来自iPod库的音频文件。你必须做更多的工作才能正确设置,但是可以做到。
答案 2 :(得分:3)
SDK没有从iPod库中读取文件的规定(因为您需要使用AVAudioPlayer
),可能是出于反盗版的原因。要播放iPod库项目,请使用MPMusicPlayerController
类。
编辑:这不再准确。请参阅以下答案,其中介绍了AVPlayer类的使用。
答案 3 :(得分:0)
是否有可能在MPMusicPlayerController
中获取有关dB测量的信息?也许并行启动AVAudioSession
录音可以完成工作吗?我需要dB值来构建某种体积光谱仪。
答案 4 :(得分:0)
- (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];
}