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

标签 ios avfoundation avplayer avaudiosession

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

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

最佳答案

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

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

关于ios - 防止无音频 AVPlayer 暂停背景音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46309077/

相关文章:

iphone/ipad app default.png 图片问题

ios - 保存高分辨率资源,以便应用程序知道它可以在 Retina 设备上使用它们

android - 当我们进行 ionic 状态恢复、保存、清除和重置时,实际发生了什么?

objective-c - 将 iOS8 中的 AVPlayer 作为子层添加到第二个 View 时消失

ios - AVPlayer 用于流媒体视频播放的第三方库

ios - 制作链式动画的正确方法

ios - 为 AVAudiosession iOS 添加增益

ios - 什么是前置摄像头的deviceUniqueID?

ios - AVAudioEngine 停止设备的背景音频

ios - 如何在 SWIFT 中获取 MP3 比特率