【发布时间】:2016-08-13 18:56:11
【问题描述】:
我有一个 iOS 9 应用,它使用 AudioGraph 播放类似 MIDI 的歌曲。我已经使用MPRemoteCommandCenter 设置了远程控制命令,使用MPNowPlayingInfoCenter 设置了信息,这样当前播放的歌曲就会显示在控制中心并响应控制中心按钮按下或耳机按钮按下。点击控制中心中的暂停按钮会暂停我的歌曲,但控制中心中的播放头会继续移动,并且该按钮仍为暂停图标。再次点击它只会一直调用暂停。
有没有办法更新MPNowPlayingInfoCenter 或MPRemoteCommandCenter 状态,以便控制中心知道歌曲已暂停?
我尝试过的解决方案:
-
在
playCommand和pauseCommand上设置enabled没有效果
-
在
MPNowPlayingInfoCenter中将MPNowPlayingInfoPropertyPlaybackRate设置为0停止播放头前进(如果我没有明确设置它,则重置经过的时间),但按钮仍然是暂停按钮
-
停止我的音频引擎并调用
AVAudioSession.setActive(false)这似乎确实有效,但速度很慢,会导致音频故障,并且即使歌曲暂停,我的应用程序的其他部分也依赖音频引擎运行
【问题讨论】:
标签: ios cocoa-touch mpnowplayinginfocenter control-center