我正在开发一个带有标签栏控制器的iOS应用程序 . 在第一个标签中,我放置了一个AVQueuePlayer实例,以开始播放来自网络的音乐 . 我做了所有编码,允许通过远程控制事件播放和暂停事件 . 但是只有当我留在第一个标签时才能接收远程控制事件 . 当我切换到其他选项卡时,第一个选项卡不会收到远程控制事件 .
当我将以下行放在第一个选项卡视图控制器中时,即使我留在第二个选项卡中,我也可以在第一个选项卡上接收远程控制事件 .
- (BOOL)canResignFirstResponder
{
return NO;
}
但是我在其他视图中有一些文本字段,用户必须与之交互 . 通过不在第一个选项卡中重新分配第一个响应者,我无法在其他选项卡中输入文本 .
请帮助我如何处理远程控制事件以在第一个选项卡中控制AVQueuePlayer实例,同时我的用户在第二个选项卡中与应用程序交互?
谢谢你的帮助 !
1 回答
好 . 我自己想通了 .
我在实现文件的开头为avqueueplayer创建了一个全局变量 . 在viewDidLoad方法中分配并启动了AVQueuePlayer . 创建了一个类方法来处理播放和暂停时要执行的操作 . 并在其他视图控制器中调用此类方法,以直接从这些视图控制器处理远程控制事件 . 以下是我编码的示例:
对于处理Apple文档中所述的远程控制事件的所有其他方法,请参阅:
Event Handling Guide for iOS - Remote Control of Multimedia