我正在开发一个音乐应用程序,即使应用程序进入后台并使用beginReceivingRemoteControlEvents
,音乐也会继续播放,以便用户可以通过在iPhone上单击主页按钮两次来控制播放状态ipad公司
我浏览了Apple开发的“音乐应用程序”示例,它使用MPMusicPlayerController
从iPod库中获取歌曲,但是一旦应用程序进入后台并且不支持{{{},它就会停止播放该歌曲。 1}}。
我查了几篇文章,说它使用了AVPlayer,但它不支持从iPod库中获取音乐,所以当应用程序进入后台并且通过remoteEvents控制时,我会陷入如何播放音乐的困境。
答案 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”作为第一个键。