在iOS 10中,控制中心UI 进行了重新设计,从那时起,播放/暂停控制按钮的响应不同。
无法暂停的内容不应在每次点击时更改控制中心的播放/暂停按钮。
在iOS 10之前,它可能正在检查MPNowPlayingInfoPropertyPlaybackRate
,如果内容没有暂停,它不会更改遥控器。在iOS 10中,它每次都会立即更改而忽略MPNowPlayingInfoPropertyPlaybackRate
。
在iOS 10中,控制中心UI 进行了重新设计,从那时起,播放/暂停控制按钮的响应不同。
无法暂停的内容不应在每次点击时更改控制中心的播放/暂停按钮。
在iOS 10之前,它可能正在检查MPNowPlayingInfoPropertyPlaybackRate
,如果内容没有暂停,它不会更改遥控器。在iOS 10中,它每次都会立即更改而忽略MPNowPlayingInfoPropertyPlaybackRate
。
处理远程控制事件的UIEvent
委托方式不再推荐用于音频/视频事件处理。相反,MPRemoteCommandCenter
它提供了一个基于选择器的界面来启用和禁用按钮和远程控制事件,以及处理这些事件的操作。
在不应暂停或恢复内容的情况下,您必须enabled
为每个命令显式设置属性以提供操作NO
,即使它只是一个不执行任何操作的虚拟选择器,以禁用控制中心中的按钮适当地:
MPRemoteCommandCenter *commandCenter = [MPRemoteCommandCenter sharedCommandCenter];
commandCenter.playCommand.enabled = NO;
[commandCenter.playCommand addTarget:self action:@selector(playAudio)];
commandCenter.pauseCommand.enabled = NO;
[commandCenter.pauseCommand addTarget:self action:@selector(pauseAudio)];
我在这里通过使用 AVPlayer 的示例进一步详细说明了这一点。