我怎样才能得到一个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];
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top