我已经设置了AVAudioSession来在后台播放音乐
AVAudioSession *audioSession = [AVAudioSession sharedInstance];
NSError *setCategoryError = nil;
[audioSession setCategory:AVAudioSessionCategoryPlayback error:&setCategoryError];
if (setCategoryError) {
}
NSError *activationError = nil;
[audioSession setActive:YES error:&activationError];
if (activationError) {
}
还在我的plist文件中添加了“必需的背景模式” .
当我播放远程文件并且iPhone进入后台时,音频会继续播放 . 但是当我在我的应用程序(MPMediaItem URL)中播放iPod中的歌曲时,它将不会继续在后台播放 .
我错过了什么?
1 回答
你没有遗漏任何东西 . 当用户开始播放iPod中的音乐时,它将阻止您的应用播放任何进一步的音频 .
如果你的意思是别的,请留言,我会更新这个答案 .
Edit: 您应该通过在
MPMusicPlayerController
的相关实例上设置队列来启动iPod音乐,然后向其发送-play
消息 . 如果您将MPMediaItem
对象提供的URL与AVAudioPlayer
实例或类似物一起使用,则它将以不同方式路由,并且可能无法继续在后台播放 .