Ios MPMusicLayerController播放BackstateDidChangeNotification确定歌曲是否已结束

Ios MPMusicLayerController播放BackstateDidChangeNotification确定歌曲是否已结束,ios,mpmediaplayercontroller,Ios,Mpmediaplayercontroller,使用通知中心时,如何确定歌曲已结束 NSNotificationCenter.defaultCenter().addObserver(self, selector:#selector(updateNowPlayingInfo), name: MPMusicPlayerController

使用通知中心时,如何确定歌曲已结束

NSNotificationCenter.defaultCenter().addObserver(self,
                                                     selector:#selector(updateNowPlayingInfo),
                                                     name: MPMusicPlayerControllerPlaybackStateDidChangeNotification,
                                                     object: musicPlayer)

updateNowPlayingInfo
方法中,检查
MPMusicPlayerController
playbackState
属性。如果歌曲已结束,该值将
停止
。请注意,如果手动停止播放(例如按下停止按钮),也会出现此状态,因此您必须检查该状态

updateNowPlayingInfo
方法中,检查
MPMusicPlayerController
playbackState
属性。如果歌曲已结束,该值将
停止
。请注意,如果手动停止播放(例如按下停止按钮),也会出现此状态,因此您必须检查该状态

歌曲播放完毕后,nowPlayingItem应更改。
结合播放状态,应足以确定歌曲是否已播放完。

当歌曲播放完后,nowPlayingItem应更改。
结合播放状态,这应该足以确定歌曲是否已播放到结尾。

这就是我的观点。如何检查歌曲的结尾与某人按下停止键的对比。真不敢相信这是2016年,我们仍然没有一个简单的通知,当一首歌曲结束使用MPMusicLayerController?好吧,我假设你处理你的代码中的按钮按下。难道你不能简单地在按下按钮时设置一个标志(可能是一个布尔标志)吗。然后在
updateNowPlayingInfo
中检查该标志,如果未设置该标志,则可以假定歌曲已完成。是的,我这样做了。。这似乎是一个“黑客”,不知道我是否错过了一个更系统的方法。这就是我的观点。如何检查歌曲的结尾与某人按下停止键的对比。真不敢相信这是2016年,我们仍然没有一个简单的通知,当一首歌曲结束使用MPMusicLayerController?好吧,我假设你处理你的代码中的按钮按下。难道你不能简单地在按下按钮时设置一个标志(可能是一个布尔标志)吗。然后在
updateNowPlayingInfo
中检查该标志,如果未设置该标志,则可以假定歌曲已完成。是的,我这样做了。。这似乎只是一个“黑客”,不知道我是否错过了一个更系统的方式。