我很难弄清楚为什么在iOS 7中遥控器无法正常工作。在iOS 7,锁定屏幕或控制中心中,按钮没有响应,有趣的是它在iOS 6上运行正常。
以下是我使用的代码:
- (void)remoteControlReceivedWithEvent:(UIEvent *)receivedEvent {
if (receivedEvent.type == UIEventTypeRemoteControl) {
switch (receivedEvent.subtype) {
case UIEventSubtypeRemoteControlTogglePlayPause:
if (player.playbackState == MPMusicPlaybackStatePlaying) {
[player pause];
}
else {
[player play];
}
break;
case UIEventSubtypeRemoteControlPreviousTrack:
break;
case UIEventSubtypeRemoteControlNextTrack:
break;
default:
break;
}
}}
这是我找到有关如何执行此操作的信息:
为什么会发生这种情况?它适用于iOS 6但不适用于iOS 7.
由于
答案 0 :(得分:9)
我遇到了同样的问题,我最终删除了案例陈述 UIEventSubtypeRemoteControlTogglePlayPause ,并分别添加了案例陈述 UIEventSubtypeRemoteControlPlay 和 UIEventSubtypeRemoteControlPause 。我没有很好的解释为什么这会改变。
的 强> 的 * UPDATE * 强>
我发现当用户使用耳机控制播放器时会调用 UIEventSubtypeRemoteControlTogglePlayPause 。只是一个FYI。
答案 1 :(得分:0)
我认为这是一个更好的解决方案:
case UIEventSubtypeRemoteControlTogglePlayPause:
case UIEventSubtypeRemoteControlPlay:
case UIEventSubtypeRemoteControlPause:
if (_paused) {
[self play:self];
} else {
[self pause:self];
}
break;