iOS视频应用的背景音频

yun*_*yun 8 audio objective-c ios avcapturesession

所以我正在制作一个播放背景音频的视频捕捉应用程序(来自Spotify或Apple Music),我遇到一个小问题,当我在播放音频时打开我的应用程序时会出现小的音频中断.

这就是我允许播放背景音频的内容(位于didFinishLaunchingWithOptions我的AppDelegate班级中:

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord
                                 withOptions:AVAudioSessionCategoryOptionDefaultToSpeaker |     AVAudioSessionCategoryOptionMixWithOthers
                                       error:nil];
[[AVAudioSession sharedInstance] setActive:YES error:nil];
Run Code Online (Sandbox Code Playgroud)

停止开始中断的任何线索?谢谢!!

编辑


我还应该在设置AVAudioSession后提到我正在设置我的AVCaptureSession.我初始化它然后设置属性.

self.session.usesApplicationAudioSession = YES;
self.session.automaticallyConfiguresApplicationAudioSession = NO;
Run Code Online (Sandbox Code Playgroud)

小智 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;
}
Run Code Online (Sandbox Code Playgroud)