无法处理backgronud音频的远程控制事件

ton*_*nyc 2 audio background ios

在我的音频播放器的视图控制器中,我添加了这个:

- (void) viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    [[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
    [self becomeFirstResponder];
}

- (void) viewWillDisappear:(BOOL)animated {
    [super viewWillDisappear:animated];
    [[UIApplication sharedApplication] endReceivingRemoteControlEvents];
    [self resignFirstResponder];
}

- (BOOL)canBecomeFirstResponder {
    return YES;
}
Run Code Online (Sandbox Code Playgroud)

这会将播放器控件中的图标从iPod图标切换到我自己的应用程序,它还会将小回放图标放在状态栏中.

接下来,我将此添加到我的视图控制器来处理远程事件:

- (void)remoteControlReceivedWithEvent:(UIEvent *)event {
    NSLog(@"REMOTE EVENT!");
    switch (event.subtype) {
        case UIEventSubtypeRemoteControlTogglePlayPause:
            [streamer pause];
            break;
        case UIEventSubtypeRemoteControlPlay:
            [streamer start];
            break;
        case UIEventSubtypeRemoteControlPause:
            [streamer pause];
            break;
        case UIEventSubtypeRemoteControlStop:
            [streamer stop];
            break;
        default:
            break;
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,这从未被调用过.我试着在应用程序运行时调出播放控件,我尝试回到主屏幕并点击一些播放控件,然后我尝试了我的耳塞控件.一切都没有运气.

有没有人对我可能出错的地方有任何指示?

谢谢.

Psy*_*cho 5

你已经实现了错误的方法:而不是 - (void)viewWillAppear:(BOOL)动画它应该是 - (void)viewDidAppear:(BOOL)动画.