【发布时间】:2019-01-16 21:21:48
【问题描述】:
我正在使用 MPMusicPlayerController 在我的应用程序中创建音乐播放器。除了一个小问题,我一切都做得很好:
当歌曲自然变化时——一首歌曲结束,下一首歌曲从设置的队列中开始——通知MPMusicPlayerControllerNowPlayingItemDidChange 似乎没有被调用。
目前我同时使用MPMusicPlayerControllerNowPlayingItemDidChange 和MPMusicPlayerControllerPlaybackStateDidChange 通知。这些包括播放、暂停、随机播放、重复、下一个、上一个等。当通知被点击时,我会根据 MPMusicPlayerController 刷新屏幕以显示所需的新歌曲、艺术家或不同的按钮图标。当一首歌曲结束并且下一首自动开始播放时,这些都不会被调用 - 这意味着上一首歌曲的标题和艺术家将被保留,直到用户重新加载屏幕或与音频控件交互,这不是良好的用户体验。
缺少定期检查当前名称是否与播放名称匹配我不知道如何在应用程序的正常流程中更新。
NotificationCenter.default.addObserver(
forName: NSNotification.Name.MPMusicPlayerControllerNowPlayingItemDidChange,
object: musicPlayerController,
queue: nil) { _ in
// Update view
}
【问题讨论】:
标签: ios swift mpmusicplayercontroller