如何在AVPlayer播放iPod的库文件
-
21-09-2019 - |
题
我怎样才能得到一个iPod音乐库文件到AVAudioPlayer?
解决方案
在SDK为从iPod库中读取文件(如你需要做的,用它AVAudioPlayer
)没有规定,可能是反盗版的原因。要播放的iPod库项目,使用MPMusicPlayerController
类。
修改:此不再准确查看下面的答案,其描述了使用AVPlayer类的
其他提示
由于大卫提到有更多的工作比这做的,比如你要管理播放下一首曲目的媒体项目集合中,但这里是与用户从选择的一组MPMediaItems做的一种方式iPod的选择器。该AssetURL是你用什么,它给你的MP3文件的路径(例如iPod的库://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
类可以通过使用这首歌的NSUrl
属性MPMediaItemPropertyAssetURL
值处理从iPod库中的音频文件。你必须做更多的工作,以正确的得到的一切设置,但它可以做到的。
是否有可能以获取有关MPMusicPlayerController
分贝计量信息?也许发起于并行记录会做这项工作的AVAudioSession
?我需要分贝值建立某种体积摄谱仪。
- (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];
}
不隶属于 StackOverflow