Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/110.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios AVPlayerLayer被音乐阻止_Ios_Cocoa Touch_Avplayer_Avplayerlayer - Fatal编程技术网

Ios AVPlayerLayer被音乐阻止

Ios AVPlayerLayer被音乐阻止,ios,cocoa-touch,avplayer,avplayerlayer,Ios,Cocoa Touch,Avplayer,Avplayerlayer,我正在使用AVPlayerLayer播放视频。视频没有声音。但是,如果用户在后台播放音乐,并且显示AVPlayerLayer,则音乐停止。如果用户向上滑动并点击播放,视频将停止 我甚至将AVPlayer的mute属性设置为true,但这种情况仍然存在 如何防止AVPlayerLayer干扰用户可能正在播放的任何音乐?视频解码似乎会中断音频应用程序,反之亦然(我认为它甚至会中断您自己)。您可以通过在音频会话上配置“与他人混合”来禁用此行为: NSError *error; if (![[AVAu

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

我甚至将
AVPlayer
mute
属性设置为
true
,但这种情况仍然存在


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

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

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
}
我曾经有过复杂的理论来解释为什么与其他人混合对这种用例来说是必要的,甚至是显而易见的,但是我已经忘记了它们,我更喜欢使用指向某些文档的指针

p、 我很确定上述两种解决方案都会禁用应用程序的远程控制事件。希望没问题。再一次,我会喜欢一些doco