【问题标题】:Webview video (iframe) not playing except sound is mutedWebview 视频 (iframe) 不播放,除了声音被静音
【发布时间】:2021-03-21 06:28:23
【问题描述】:

我正在尝试播放 HTML iframe 视频,但视频拒绝播放,除非我静音。这是我的网络视图方法。

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);
    }

谢谢...

【问题讨论】:

    标签: java android video iframe webview


    【解决方案1】:

    正如您所说,如果视频被静音,它可以毫无问题地播放,在我看来,您正在尝试自动播放视频而不关注 Chrome's autoplay policies

    • 始终允许静音自动播放。
    • 在以下情况下允许自动播放声音:
      • 用户与域进行了交互(点击、点击等)。
      • 在桌面上,用户的媒体参与指数阈值已被超过,这意味着用户之前播放过有声视频。
      • 用户已将网站添加到移动设备的主屏幕或在桌面设备上安装了 PWA。
    • 顶级框架可以将自动播放权限委托给其 iframe 以允许自动播放声音。

    最后一个可能是原因,要允许从 iframe 自动播放(当视频不是静音时),allow 属性必须设置为 autoplay

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

    前段时间我也遇到过自动播放限制。

    【讨论】:

    • 感谢您的推荐,但我试过了,它仍然无法播放。
    猜你喜欢
    • 2021-03-20
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    • 2014-04-08
    • 2014-06-13
    • 1970-01-01
    • 1970-01-01
    • 2017-04-11
    相关资源
    最近更新 更多