AVPlayerLayer被音乐停止了

时间:2015-12-24 05:36:57

标签: ios cocoa-touch avplayer avplayerlayer

我正在使用Exception播放视频。视频没有声音。但是,如果用户在后台播放音乐并且显示SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\CurrentVersion -> current version. ,则音乐将停止。如果用户向上滑动并点击播放,则视频会停止。

我甚至将AVPlayerLayer的{​​{1}}属性设置为AVPlayerLayer但这仍然存在。

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

1 个答案:

答案 0 :(得分:2)

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

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是必要的复杂理论,对于这种用例来说甚至是显而易见的,但是我已经忘记了它们,而更喜欢指向某些文档的指针。

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