菜鸟教程小白 发表于 2022-12-12 17:56:37

ios - AVPlayerLayer 被音乐停止


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

<p>我什至将 <code>AVPlayer</code> 的 <code>muted</code> 属性设置为 <code>true</code> 但这仍然发生。</p>

<p>如何防止 <code>AVPlayerLayer</code> 干扰用户可能正在播放的任何音乐?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>视频解码似乎会中断音频应用程序,反之亦然(我认为它甚至可以中断<em>您自己</em>)。您可以通过在 Audio Session 中配置“与他人混合”来禁用此行为:</p>

<pre><code>NSError *error;

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

if (![ setActive:YES error:&amp;error]) {
    // handle error
}
</code></pre>

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

<pre><code>if (![ setCategory:AVAudioSessionCategoryAmbient error:&amp;error]) {
    // handle error
}
</code></pre>

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

<p>附言我很确定上述两种解决方案都会为您的应用禁用远程控制事件。希望没关系。再一次,会喜欢一些 doco。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - AVPlayerLayer 被音乐停止,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/34447792/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/34447792/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - AVPlayerLayer 被音乐停止