Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 无法处理backgronud音频的远程控制事件_Ios_Audio_Background - Fatal编程技术网

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

Ios 无法处理backgronud音频的远程控制事件,ios,audio,background,Ios,Audio,Background,在音频播放器的视图控制器中,我添加了以下内容: - (void) viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; [[UIApplication sharedApplication] beginReceivingRemoteControlEvents]; [self becomeFirstResponder]; } - (void) viewWillDisappear:(BOOL)anim

在音频播放器的视图控制器中,我添加了以下内容:

- (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;
}
这会将播放器控件中的图标从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;
    }
}
然而,这是从来没有被称为。我试着在应用程序运行时打开播放控件,我试着回到我的主屏幕并点击一些播放控件,我试着使用耳塞的控件。所有人都不走运

有没有人能告诉我哪里会出错


谢谢。

我以前遇到过这个问题,发现我的问题是因为我的视图是子视图,而父视图正在捕获远程事件。我将从AppDelegate开始并实现该方法,查看是否有任何内容发送到AppDelegate,然后从那里跟踪它。很可能有一个视图或viewController正在捕获事件而没有传递它。

您实施了错误的方法:而不是-(void)viewwillbeen:(BOOL)animated它应该是-(void)viewdidspeen:(BOOL)animated。

您确定设置了音频会话吗?使用AVAudioSession并在成为第一响应者之前将类别设置为AVAudioSessionCategoryPlayback。

我已经为此挣扎了很长一段时间。你能告诉我如何像你那样调试的细节吗?