OStack程序员社区-中国程序员成长平台

标题: ios - AVPlayerLayer 被音乐停止 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 17:56
标题: ios - AVPlayerLayer 被音乐停止

我正在使用 AVPlayerLayer 播放视频。视频没有声音。但是,如果用户在后台播放音乐并且显示 AVPlayerLayer,则音乐停止。如果用户向上滑动并点击播放,视频就会停止。

我什至将 AVPlayermuted 属性设置为 true 但这仍然发生。

如何防止 AVPlayerLayer 干扰用户可能正在播放的任何音乐?



Best Answer-推荐答案


视频解码似乎会中断音频应用程序,反之亦然(我认为它甚至可以中断您自己)。您可以通过在 Audio Session 中配置“与他人混合”来禁用此行为:

NSError *error;

if (![[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback withOptions:AVAudioSessionCategoryOptionMixWithOthers error:&error]) {
    // handle error
}

if (![[AVAudioSession sharedInstance] setActive:YES error:&error]) {
    // handle error
}

我不知道为什么,但是设置一个没有选项的简单 AVAudioSessionCategoryAmbient 类别也可以:

if (![[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:&error]) {
    // handle error
}

我曾经对为什么 mix-with-others 对这种用例来说是必要的甚至是显而易见的有复杂的理论,但我已经忘记了它们,而是更喜欢指向一些文档的指针.

附言我很确定上述两种解决方案都会为您的应用禁用远程控制事件。希望没关系。再一次,会喜欢一些 doco。

关于ios - AVPlayerLayer 被音乐停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34447792/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4