当应用程序进入后台时,如何在自定义应用程序中播放来自ipod的音乐

时间:2012-07-09 17:35:38

标签: objective-c ios xcode cocoa-touch ios5

我正在开发一个音乐应用程序,即使应用程序进入后台并使用beginReceivingRemoteControlEvents,音乐也会继续播放,以便用户可以通过在iPhone上单击主页按钮两次来控制播放状态ipad公司

我浏览了Apple开发的“音乐应用程序”示例,它使用MPMusicPlayerController从iPod库中获取歌曲,但是一旦应用程序进入后台并且不支持{{{},它就会停止播放该歌曲。 1}}。

我查了几篇文章,说它使用了AVPlayer,但它不支持从iPod库中获取音乐,所以当应用程序进入后台并且通过remoteEvents控制时,我会陷入如何播放音乐的困境。

1 个答案:

答案 0 :(得分:4)

iPodMusicPlayer将在后台播放,但通过iOS iPod音乐播放器播放。您的应用不会在后台收到通知。为此,您需要设置AVAudioSession并使用AVPlayer。

Check here for more information

Apple has a great resource here

来自Apple Docs:

  

使用MPMusicPlayerController对象或音乐播放器播放设备iPod库中的媒体项目。有两种类型的音乐播放器:

     

应用程序音乐播放器在您的本地播放音乐   应用。它不知道iPod应用程序正在播放的项目,也没有   它会影响iPod的状态吗?

     

iPod音乐播放器使用   内置的iPod应用程序代表您。在实例化时,它采取了   当前的iPod应用程序状态,如识别   现在玩的项目。如果用户在音乐播放时切换您的应用   玩,那音乐继续发挥。 iPod应用程序然后有你的   音乐播放器最近设置的重复模式,随机播放模式,播放   现状和现在的项目。

确保您正在使用

+ iPodMusicPlayer

而不是

+ applicationMusicPlayer

Here is a good article on how to import the library into an AVAudioSession

在info.plist文件中添加一行,名称为“UIBackgroundModes” 输入“audio”作为第一个键。

UIBackgroundModes