我有這樣的AppDelegate中(didFinishLaunching):iOS的 - 沒有收到UIEventTypeRemoteControl事件
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
我試圖處理事件相關視圖控制器,但那是參差不齊(有些視圖控制器將獲得的事件和其他即使他們是第一響應者也不會)。我試過UIApplication的子類。這沒有用。現在,我想繼承一個UIWindow和做到這一點(見註釋):
- (void)sendEvent:(UIEvent *)event {
if (event.type == UIEventTypeRemoteControl) {
NSLog(@"I wish this happened"); //this never happens
}
else
{
NSLog(@"some other event"); //this does happen on any other interaction
[super sendEvent:event];
}
}
- (void) remoteControlReceivedWithEvent: (UIEvent *) receivedEvent {
if (receivedEvent.type == UIEventTypeRemoteControl) {
NSLog(@"got remote event"); // this never happens either
switch (receivedEvent.subtype) {
case UIEventSubtypeRemoteControlTogglePlayPause:
{
NSLog(@"handle play/pause");
break;
}
default:
break;
}
}
}
我試圖既沒有這種在信息的plist:
<key>UIBackgroundModes</key>
<array>
<string>audio</string>
</array>
不有所作爲。正如Apple文檔所述,您可以使用音頻控件模擬遠程控制事件(雙擊主頁按鈕並滾動到底部)。當我按播放或暫停時,它只播放來自我的iTunes資料庫的音頻。我也嘗試了Apple耳機上的按鈕。沒有。
我想要做的就是檢測遙控器上的播放/暫停按鈕,並處理事件。我還需要做些什麼來抓住這些事件?
這正是我的問題。非常感謝......將永遠需要弄清楚。 –
在iOS 6+中不起作用。我在鎖定屏幕上看到我的應用正在播放的信息,但仍然沒有按暫停/播放的事件。 – openfrog
而且沒有意義:如果使用AVAudioPlayer,則沒有視圖控制器「呈現它」。它是一個播放音頻並沒有超視圖的類。 – openfrog