Ios MPMusicLayerController正在播放项目在背景中未更改

Ios MPMusicLayerController正在播放项目在背景中未更改,ios,swift,swift3,ios10,mpmediaplayercontroller,Ios,Swift,Swift3,Ios10,Mpmediaplayercontroller,当应用程序处于后台时,是否有方法获取MPMusicLayerController的NowPlayingItemDidChange通知 我有一个应用程序,需要能够暂停音乐一旦歌曲结束,而在后台或当屏幕被锁定。我正在用钢琴演奏音乐 我已尝试添加音频后台功能,并在我的ApplicationIdentinterBackground中包含对beginBackgroundTask的调用,但这在很长一段时间内都不起作用。在后台时,您的应用程序可能随时被杀死,因此您不想依赖于在后台执行操作 我的理解是,你想要实

当应用程序处于后台时,是否有方法获取
MPMusicLayerController的NowPlayingItemDidChange
通知

我有一个应用程序,需要能够暂停音乐一旦歌曲结束,而在后台或当屏幕被锁定。我正在用钢琴演奏音乐


我已尝试添加音频后台功能,并在我的
ApplicationIdentinterBackground
中包含对
beginBackgroundTask
的调用,但这在很长一段时间内都不起作用。

在后台时,您的应用程序可能随时被杀死,因此您不想依赖于在后台执行操作

我的理解是,你想要实现的是,当你的应用程序进入后台时,当前播放的音乐继续播放,但在当前播放的歌曲完成后停止

MPMusicLayerController.SystemMusicLayer()
正在播放一列歌曲(“播放列表”)。因此,我会尝试在
applicationwillresignative()
中操纵这个
队列
,以便在当前播放的歌曲之后没有歌曲


我没有对此进行测试,我不确定这是否可以通过公共API实现。

使用观察者如何?@KennyVB,它是否可以在后台或手机锁定时无限期工作?它将一直工作,直到你停止观察。。。你可以在它开始播放时放置一个观察者,在播放结束时停止它。它不会破坏你的应用程序。我认为这不会起作用,因为这正是我试图用
MPMusicLayerController的NowPlayingItemDidChange做的。你也看到了吗?你是说当应用程序进入后台(或设备锁定)暂停/停止音乐时?让应用程序一直打开直到音乐结束?而且没有办法按照问题中描述的方式来做(如果是这样的话,这是可以的)?更新的答案。这没有帮助。我的应用程序需要播放一定数量的歌曲,然后在播放完毕后停止播放。我希望能够在应用程序处于后台时获得通知,以便它知道何时停止。我理解。但由于你的方法是不可能的,我试着给你指出另一个解决问题的方向。我可能花了一年的时间才把这标记为正确的,但你是对的——最终这是不可能的。