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

Posted

技术标签:

【中文标题】防止无音频 AVPlayer 暂停背景音频【英文标题】:Preventing no-audio AVPlayer from pausing background audio 【发布时间】:2017-09-19 20:16:22 【问题描述】:

我了解基于 AVAudiosession 类别的 AVPlayer 会在其他应用程序开始播放时暂停当前播放的背景音频。我想知道这是否是预期的行为,无论正在播放的类型项目/内容如何?

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

【问题讨论】:

【参考方案1】:

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

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.");
    

【讨论】:

以上是关于防止无音频 AVPlayer 暂停背景音频的主要内容,如果未能解决你的问题,请参考以下文章

防止 AVPlayer 取消背景音频

iOS AVPlayer:屏幕锁定时暂停视频

使用 AVPlayer 播放音频时如何在 UIWebView 中暂停音频

iOS: ios视频播放(MPMediaPlayerController,AVPlayer,AVPlayerViewcontrollerffmpeg-AVPlayer)

AVPlayer 和背景音频流

同时播放两个 AVPlayer 音频文件时出现音频故障