我有一个iOS
应用,可以使用RadioKit
SDK来播放音乐。在标签栏控制器的不同视图之间切换时音频播放正常,但是当插入耳机并且用户正在查看其中一个辅助标签视图时(应用程序启动时总共有5个,主要用于其他4个) )如果他们试图点击播放/暂停按钮,应用程序无法识别该操作。如果正在播放,它将不会暂停,如果它暂停,它将无法播放。但是,该应用可识别耳机的音量变化。
无论应用是在视野中,还是在后台,或者设备是否已锁定,此行为都是一致的。
我做了一些沉重的搜索,似乎无法解决这个问题。感谢您的帮助,谢谢!
iOS版本6.1.3
iOS SDK版本6.1
xCode版本4.6.3
答案 0 :(得分:1)
您想收听-(void)remoteControlReceivedWithEvent:(UIEvent *)event
建立基础UIViewController
,让我们称之为BaseViewController
并添加以下内容:
-(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];
}
}
此外,您还希望在基类中包含以下内容,以便您可以实际接收任何远程控制事件。
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
UIApplication *application = [UIApplication sharedApplication];
if ([application respondsToSelector:@selector(beginReceivingRemoteControlEvents)]) {
[application beginReceivingRemoteControlEvents];
}
[self becomeFirstResponder];
}
最后让所有UIViewControllers成为BaseViewController的子类。