4

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

4

1 回答 1

7

MPMusicPlayerController有一个实例方法beginGeneratingPlaybackNotifications()Notification将交付给订阅者的三个s:

  1. MPMusicPlayerControllerNowPlayingItemDidChange
  2. MPMusicPlayerControllerPlaybackStateDidChange
  3. MPMusicPlayerControllerVolumeDidChange

要检测歌曲播放或队列何时结束,您可以使用MPMusicPlayerControllerNowPlayingItemDidChange.

当您收到该通知时,请检查MPMusicPlayerControllers nowPlayingItem(请参阅文档)。如果歌曲完成并播放另一首歌曲nowPlayingItem将发生变化。如果整个队列完成并且没有任何播放,nowPlayingItem将有一个 value nil

于 2018-01-03T09:47:53.117 回答