AVAudioSession背景模式问题

问题描述:

我已经建立了我的AVAudioSession背景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中的歌曲时,它不会继续在后台播放。

我错过了什么?

你不会错过任何东西。当用户开始从iPod播放音乐时,它会阻止您的应用播放任何其他音频。

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

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

+0

也许我不够清楚。我的应用程序也以本地ipod音乐播放远程文件(MPMediaItem URL)。当我从ipod开始播放歌曲时,它不会在后台播放。谢谢! – Mark

+0

好的,谢谢,这指出我在良好的方向。但是目前我正在使用MPMoviePlayerController来轻松播放远程文件。什么是允许用户以远程文件播放本地iPod音乐的最佳方式(可以从播放列表中选择)?谢谢! – Mark