首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在iOS应用程序的辅助视图中无法识别耳机按键

在iOS应用程序的辅助视图中无法识别耳机按键
EN

Stack Overflow用户
提问于 2013-07-22 14:33:25
回答 1查看 604关注 0票数 0

我有一个使用RadioKit软件开发工具包的iOS应用程序。在标签栏控制器的不同视图之间切换时,音频播放正常,但是,当插入耳机时,用户正在查看其中一个辅助选项卡视图(总共有5个,1个主要用于启动应用程序,还有4个其他视图),如果他们试图点击播放/暂停按钮,应用程序将无法识别该操作。如果它正在播放,它不会暂停,如果它被暂停,它就不会播放。然而,该应用程序可以识别耳机的音量变化。

无论应用程序处于查看状态,还是处于后台,或者设备处于锁定状态,此行为都是一致的。

我做了一些繁重的搜索,但似乎无法弄清楚这一点。感谢您的帮助,谢谢!

iOS版本6.1.3

iOS软件开发工具包6.1版

xCode版本4.6.3

EN

回答 1

Stack Overflow用户

发布于 2014-04-28 16:26:59

你想听-(void)remoteControlReceivedWithEvent:(UIEvent *)event

创建一个基本UIViewController,我们将其命名为BaseViewController,然后添加以下内容:

代码语言:javascript
复制
-(void)remoteControlReceivedWithEvent:(UIEvent *)event {    

    if (event.type == UIEventTypeRemoteControl) {

        switch(event.subtype) {
            case UIEventSubtypeRemoteControlTogglePlayPause:

                break;
            case UIEventSubtypeRemoteControlPlay:

                break;
            case UIEventSubtypeRemoteControlPause:

                break;
            case UIEventSubtypeRemoteControlStop:

                break;
            default:
                break;

        }
    }
    else{
        [super remoteControlReceivedWithEvent:event];
    }
}

此外,您还希望在基类中包含以下内容,以便可以实际接收任何远程控制事件。

代码语言:javascript
复制
- (void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];

    UIApplication *application = [UIApplication sharedApplication];
    if ([application respondsToSelector:@selector(beginReceivingRemoteControlEvents)]) {
        [application beginReceivingRemoteControlEvents];
    }

    [self becomeFirstResponder];

}

最后让所有的UIViewControllers成为BaseViewController的子类。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17781281

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档