webview视频(iframe)除声音静音外不播放

s8vozzvw  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(866)

我正在尝试播放一个html iframe视频,但除非我将声音静音,否则视频将拒绝播放。这是我的web视图方法。

private void playVideoOnWebView(String videoUrl) {
        videoWebViewPlayer = findViewById(R.id.videoPlayerWebView);           
        videoWebViewPlayer.setVisibility(VISIBLE);
        videoWebViewPlayer.getSettings().setJavaScriptEnabled(true);    
        videoWebViewPlayer.getSettings().getAllowContentAccess();
        videoWebViewPlayer.getSettings().setDomStorageEnabled(true);
        videoWebViewPlayer.getSettings().setAppCacheEnabled(true);videoWebViewPlayer.getSettings().setAppCachePath(getApplicationContext().getFilesDir().getAbsolutePath() + "/cache");
        videoWebViewPlayer.getSettings().setDatabaseEnabled(true);
        videoWebViewPlayer.getSettings().setDatabasePath(getApplicationContext().getFilesDir().getAbsolutePath() + "/databases");
        videoWebViewPlayer.getSettings().setPluginState(WebSettings.PluginState.ON);
        videoWebViewPlayer.getSettings().setDomStorageEnabled(true);
        videoWebViewPlayer.setWebChromeClient(new WebChromeClient());
        videoWebViewPlayer.loadUrl(videoUrl);
    }

谢谢。。。

agxfikkp

agxfikkp1#

正如你所说,如果视频静音播放没有问题,在我看来,你试图自动播放一个视频没有遵循chrome的自动播放策略:
始终允许静音自动播放。
在以下情况下,允许自动播放声音:
用户已与域交互(单击、点击等)。
在桌面上,用户的媒体参与度指数已超过阈值,这意味着用户以前播放过有声音的视频。
用户已将站点添加到移动设备的主屏幕或在桌面上安装了pwa。
顶部帧可以将自动播放权限委托给它们的iframe,以允许自动播放声音。
最后一个原因可能是,允许从iframes自动播放(当视频不是静音时) allow 属性必须设置为 autoplay :

<iframe src="https://cross-origin.com/myvideo.html" allow="autoplay">

前一段时间我还与自动播放限制作过斗争。

相关问题