iOS:处理远程控制事件,然后将事件转发到音乐应用程序

时间:2013-06-26 16:20:45

标签: ios audio remote-control

我想在我的应用中处理删除控制事件,但也希望在我完成后将事件传递给其他应用。

我在Apple的远程控制事件文档部分找不到明确的说明: http://developer.apple.com/library/ios/#documentation/EventHandling/Conceptual/EventHandlingiPhoneOS/Remote-ControlEvents/Remote-ControlEvents.html#//apple_ref/doc/uid/TP40009541-CH7-SW3

这里说:

  

iOS将命令转换为UIEvent对象并将事件传递给   一个应用程序应用程序将它们发送给第一个响应者,如果是第一个响应者   响应者没有处理它们,它们沿着响应链向上移动。对于   有关响应者链的更多信息,请参阅“响应者链”   遵循特定的交付路径。“

所以我以为我会放置

[[self nextResponder] remoteControlReceivedWithEvent: receivedEvent];

在我的事件处理程序方法结束时,期望在我的处理程序完成之后,当前播放的音乐应用程序(例如内置音乐播放器)将能够接收该事件。 但令我惊讶的是,它从来没有。

我在这里缺少什么?

1 个答案:

答案 0 :(得分:2)

确保调用以下方法开始接收事件。

[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
[self becomeFirstResponder];

然后在您的应用程序委托中,您需要监听事件。

-(void)remoteControlReceivedWithEvent:(UIEvent *)event{
    if (event.type == UIEventTypeRemoteControl){
        switch (event.subtype) {
            case UIEventSubtypeRemoteControlTogglePlayPause:
                break;
            default:
                break;
        }
    }
}