java - Webview 视频 (iframe) 不播放,除了静音

标签 java android video iframe webview

我正在尝试播放 HTML iframe 视频,但视频拒绝播放,除非我将声音设为静音。这是我的 WebView 方法。

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

谢谢...

最佳答案

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

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

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

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

前段时间我也遇到了自动播放限制问题。

关于java - Webview 视频 (iframe) 不播放,除了静音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65224254/

相关文章:

java - Java LinkedHashSet 包含方法的问题

java - 由 : sun. security.provider.certpath.SunCertPathBuilderException 引起:无法找到请求目标的有效证书路径

android - 从命令行创建一个大小合适的模拟器

项目之间有空格的Android自定义 ListView

video - HLS/实时流的视频分析

java - 从多个视频部分创建单个视频文件

java - 使用 Servlet 2.5 测试 Spring Framework 4

java - 回收者与 picasso 的 View 间距

Android 2.2 GetThumbnail 返回不正确的位图

javascript - 我的播放列表插件无法在 videojs 上运行?