You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

含静音自动播放视频的WebView导致其他音频暂停的解决问询

解决WebView静音自动播放视频打断后台音频的问题

好问题!这个困扰其实完全可以通过配置WebView来解决,不用等Google修复Chrome WebView~ 下面给你详细说下具体的方案:

针对Android平台的配置方案

1. 适配Android 8.0(API 26)及以上设备

从Android 8.0开始,WebView提供了直接控制音频焦点的配置项。你只需要给WebSettings设置AUDIOFOCUS_NONE,这样WebView播放静音视频时就不会去抢音频焦点,后台的Spotify这类应用就能继续播放了。

代码示例:

WebSettings webSettings = yourWebView.getSettings();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
    webSettings.setAudioFocusType(WebSettings.AUDIOFOCUS_NONE);
}

2. 适配Android 8.0以下设备

低版本系统没有直接的WebSettings配置项,但一般来说,静音自动播放的视频不会主动抢占音频焦点。如果遇到个别设备出现问题,可以试试通过注入JavaScript手动触发静音播放,确保视频始终保持静音状态,避免触发音频焦点请求:

yourWebView.setWebViewClient(new WebViewClient() {
    @Override
    public void onPageFinished(WebView view, String url) {
        super.onPageFinished(view, url);
        // 注入JS确保视频静音并启动播放
        view.evaluateJavascript("const video = document.querySelector('video'); video.muted = true; video.play();", null);
    }
});

验证效果

配置完成后,你可以先打开Spotify播放音频,再加载包含静音自动播放视频的WebView,确认后台音频不会被暂停。当用户主动点击视频开启音频时,WebView会正常请求音频焦点,此时后台音频暂停,这是符合用户预期的行为。

关于官方修复的说明

目前Chrome WebView的默认行为确实会让静音自动播放视频请求音频焦点,但通过上面的配置已经完全可以规避这个问题,不需要等官方修复。后续如果官方优化了这个默认行为,这些配置也能兼容新的逻辑。


内容的提问来源于stack exchange,提问作者Nilzor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 10:01:23