检测Apple音乐歌曲播放完毕

时间:2018-01-03 09:11:25

标签: ios swift mpmusicplayercontroller apple-music apple-musickit

我正在编写一个需要在歌曲播放完毕后制作动作的应用。我使用MPMusicPlayerController.applicationQueuePlayer()作为我的音乐播放器来播放用户的苹果音乐。我想知道是否有一种方法可以检测用户歌曲播放完毕或队列结束时(或者有用)

1 个答案:

答案 0 :(得分:6)

MPMusicPlayerController有一个实例方法beginGeneratingPlaybackNotifications()。有三个Notification将发送给订阅者:

  1. MPMusicPlayerControllerNowPlayingItemDidChange
  2. MPMusicPlayerControllerPlaybackStateDidChange
  3. MPMusicPlayerControllerVolumeDidChange
  4. 要检测播放歌曲或队列的时间,您可以使用MPMusicPlayerControllerNowPlayingItemDidChange

    收到该通知后,请检查MPMusicPlayerController s nowPlayingItem(请参阅Documentation)。如果歌曲结束而另一首歌曲播放nowPlayingItem将会改变。如果整个队列完成且没有播放,nowPlayingItem将具有值nil