Iphone iOS 7问题中的RemoteControlReceivedWithEvent
我很难弄明白为什么iOS 7中的遥控器不能工作。在iOS 7中,在锁定屏幕中,甚至在控制中心中,按钮都没有响应,有趣的是,它在iOS 6上运行良好 以下是我使用的代码:Iphone iOS 7问题中的RemoteControlReceivedWithEvent,iphone,objective-c,ios6,ios7,Iphone,Objective C,Ios6,Ios7,我很难弄明白为什么iOS 7中的遥控器不能工作。在iOS 7中,在锁定屏幕中,甚至在控制中心中,按钮都没有响应,有趣的是,它在iOS 6上运行良好 以下是我使用的代码: - (void)remoteControlReceivedWithEvent:(UIEvent *)receivedEvent { if (receivedEvent.type == UIEventTypeRemoteControl) { switch (receivedEvent.subtype) {
- (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
谢谢我遇到了同样的问题,我最终删除了case语句uieventsubmitRemoteControlTogglePlayPause,并分别添加了case语句uieventsubmitRemoteControlPlay和uieventsubmitRemoteControlPause。我无法很好地解释为什么会发生这种变化 *更新*
我发现当用户使用耳机控制播放器时,会调用uieventRemoteControlTogglePlayPause。仅供参考。我认为这是一个更好的解决方案:
case UIEventSubtypeRemoteControlTogglePlayPause:
case UIEventSubtypeRemoteControlPlay:
case UIEventSubtypeRemoteControlPause:
if (_paused) {
[self play:self];
} else {
[self pause:self];
}
break;
完美的就像我想的那样工作!谢谢,你帮我节省了时间