所以我正在开发一个播放背景音频的视频捕捉应用程序(来自Spotify或Apple Music),我遇到一个小问题,当我在播放音频时打开我的应用程序时会出现小的音频中断。
以下是我允许播放背景音频的内容(位于我didFinishLaunchingWithOptions
课程的AppDelegate
中:
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord
withOptions:AVAudioSessionCategoryOptionDefaultToSpeaker | AVAudioSessionCategoryOptionMixWithOthers
error:nil];
[[AVAudioSession sharedInstance] setActive:YES error:nil];
停止开始中断的任何线索?谢谢!
修改
我还应该在设置AVAudioSession后提及我正在设置我的AVCaptureSession。我初始化它然后设置属性。
self.session.usesApplicationAudioSession = YES;
self.session.automaticallyConfiguresApplicationAudioSession = NO;
答案 0 :(得分:2)
我认为中断的原因是你在每种情况下都在更新类别。您可以使用以下功能仅在需要时检查和更新类别。
-(BOOL) checkAndUpdateCategory {
NSError *error;
AVAudioSession *session = [AVAudioSession sharedInstance];
BOOL result = [session.category isEqualToString:AVAudioSessionCategoryPlayAndRecord];
if(!result) {
result = [session setCategory:AVAudioSessionCategoryPlayAndRecord withOptions:AVAudioSessionCategoryOptionDefaultToSpeaker | AVAudioSessionCategoryOptionMixWithOthers error:&error];
if(error) {
//Handle Error
NSLOG(@"Error:%@", error);
}
}
return result;
}