防止无音频AVPlayer暂停背景音频

时间:2017-09-19 20:16:22

标签: ios avfoundation avplayer avaudiosession

据我所知,基于AVAudioSession类别,AVPlayer会在开始播放时暂停其他应用当前播放的背景音频。我想知道这是否是预期的行为,无论正在播放的类型项/内容是什么?

在我的案例中,我要求显示没有声音的视频。视频文件不包含音轨。 AVPlayer本身也设置为静音。对我来说有点奇怪,即使我不生成音频,我仍然需要更改为AVAudioSession类别。所以我想知道这是设计还是我想念的东西。例如,我可以设置没有音频会话的AVPlayer,以便它不会担心音频或类似的事情。

1 个答案:

答案 0 :(得分:2)

没有。只需将音频类别设置为“Ambient”,这样它就不会踩到任何其他音频:

AVAudioSession *session = [AVAudioSession sharedInstance];
if (session) {
    NSError *setCategoryError = nil;
    BOOL success = [session setCategory:AVAudioSessionCategoryAmbient error:&setCategoryError];
    if (success) {
        NSError *activationError = nil;
        [session setActive:YES error:&activationError];
    } else {
        NSLog(@"Failed to set music category to ambient. May interrupt other audio.");
    }
}