我怎样将iPod音乐库文件导入到AVAudioPlayer中?
我怎样将iPod音乐库文件导入到AVAudioPlayer中?
正如David所提到的,这里需要做的工作不仅如此,例如您还需要管理播放媒体项集合中的下一首曲目,但以下是一种使用用户从iPod选择器中选择的一组MPMediaItems进行操作的方法。 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];
是的,您可以使用SDK播放iPod库中的歌曲,而不必使用MPMusicPlayerController
类。
更基本的AVPlayer
类可以通过使用歌曲的MPMediaItemPropertyAssetURL
属性中的NSUrl
值处理来自iPod库的音频文件。您需要做更多的工作来正确设置所有内容,但是这是可行的。
AVAudioPlayer
),可能是出于反盗版的原因。要播放iPod库中的项目,请使用MPMusicPlayerController
类。
编辑:这已不再准确。请参见下面的答案,其中描述了AVPlayer类的使用。- (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];
}
在MPMusicPlayerController
中是否有获取dB计量信息的可能性?也许可以同时启动一个用于录制的AVAudioSession
来完成这项工作?我需要dB值来构建某种音量频谱图。