2

我已经设置了我的 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 播放歌曲时,它不会继续在后台播放。

我错过了什么?

4

1 回答 1

0

你没有错过任何东西。当用户开始从 iPod 播放音乐时,它将阻止您的应用程序播放任何进一步的音频。

如果你的意思是别的,请留言,我会更新这个答案。

编辑:您应该通过在 的相关实例上设置队列来启动 iPod 音乐MPMusicPlayerController,然后向其发送-play消息。如果您将MPMediaItem对象提供的 URL 与AVAudioPlayer实例或类似内容一起使用,它将被不同地路由,并且可能无法在后台继续播放。

于 2011-08-04T21:39:01.520 回答