MPMusicPlayerControllerPlaybackStateDidChangeNotification 判断歌曲是否结束

MPMusicPlayerControllerPlaybackStateDidChangeNotification determine if song has ended

使用通知中心时,如何判断歌曲结束?

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

updateNowPlayingInfo 方法中检查 MPMusicPlayerControllerplaybackState 属性。如果歌曲结束,则该值为 Stopped。请注意,如果手动停止播放(例如通过按下停止按钮),您也会有此状态,因此您必须检查一下。

歌曲播放完毕后,nowPlayingItem 应该会发生变化。 结合播放状态,应该就可以判断歌曲是否播放完毕了。