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。我已经为此挣扎了很长一段时间。你能告诉我如何像你那样调试的细节吗?