Android webview 视频自动播放成功,但相同的 apk 在 android Tv mini pc 上失败?

2023-11-30

我已经设法让我的视频自动播放在我的 webview.apk 中,在我的手机(4.1.2)上进行了测试并且它可以工作,而在我的 Android 迷你电脑(4.2)上必须单击才能开始播放...:(

WebChromeClient 可能是原因吗?如果它与 chromium 有一些共同点,那么它也无法自动播放,而普通的网络浏览器却运行得很好?

我用来让自动播放工作的 JavaScript 如下:

<html>
  <head>

      <script>

function callback () {
    document.querySelector('video').play();
        }

       window.addEventListener("load", callback, false);


    </script>

  </head>



<body>
  <div id="video_post1" style="margin: -454px 0px 0px -3px;position: absolute;">
<video controls autoplay with="600" height="400">

  <source src="http://www.edmondvarga.com/demo/videos/trx.mp4" type="video/mp4">


</video>
  </div>

    </body>
    </html>

也许我会使用另一种语法来播放它(例如:文档准备好)?

Eclipse代码,仅供演示:

package tscolari.mobile_sample;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.webkit.WebChromeClient;

import android.media.MediaPlayer;


public class InfoSpotActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);


        setContentView(R.layout.main);

        WebView mainWebView = (WebView) findViewById(R.id.mainWebView);

        WebSettings webSettings = mainWebView.getSettings();
        webSettings.setJavaScriptEnabled(true);

        mainWebView.setWebChromeClient(new WebChromeClient());

        mainWebView.setWebViewClient(new MyCustomWebViewClient());
        mainWebView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);




        mainWebView.loadUrl("http://server.info-spot.net");
    }


    private class MyCustomWebViewClient extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
        }
    }
}

我意识到这是一个老问题,但这个答案可能会对以后的人有所帮助:

Android(和 iOS)禁用了autoplayHTML5 中的标签videoChrome 或本机浏览器中的节点。播放视频需要用户交互(onClick 或 onMouseOver 等)。但是,如果需要,可以在自己的 WebView 中自动播放视频。

要在 Android Webview 中自动播放视频,请发布 Android 4.4:

    webview.setWebChromeClient(new WebChromeClient());
    webview.getSettings().setMediaPlaybackRequiresUserGesture(false);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android webview 视频自动播放成功,但相同的 apk 在 android Tv mini pc 上失败? 的相关文章

  • .addClass 仅添加到无序列表中单击的项目符号

    我有一个简短的无序列表 其中有两个项目符号 我添加了一些 Javascript 这样当我单击项目符号时 它会向其中添加一个类 问题是 它将该类添加到所有现有的 li 中 而不仅仅是我单击的那个 这是 JSFiddle http jsfidd
  • 如何在 django 表单中设置自定义 HTML 属性?

    我有一个 Django 表单 它是页面的一部分 假设我有一个字段 search input forms CharField u Search word required False 我只能通过模板访问它 form search input
  • svg路径指针事件-点击检测

    我正在编写一些 HTML 以便可以使用 HTML SVG 和 PATH 标签绘制贝塞尔曲线 我的曲线效果非常好 现在我想添加一项功能 如果用户将鼠标悬停在曲线上 我会更改颜色 但实际情况是 SVG 创建了一个包含路径的大框 并捕获所有点击
  • 将 HTML 编辑器的内容保存为桌面上的 HTML 文件

    我想通过单击按钮来保存 TinyMce HTML 编辑器的内容 TinyMce 是本地安装的 我在 Chrome 中使用它 我见过这个answer https stackoverflow com a 30740104 3154274然后on
  • 使用 CSS 网格布局跨越所有列/行的项目

    随着 CSS 网格布局模块很快在 Firefox 和 Chrome 中发布 我想我应该尝试了解如何使用它 我尝试用一 个项目创建一个简单的网格a跨越所有行的左侧 其他项目 b c d e等 跨越各个行的右侧 跨越行右侧的项目数量是可变的 因
  • 电子邮件通讯未正确呈现

    我是 CSS 和 HTML 新手 我有一个包含 HTML 和 CSS 代码的电子邮件模板 我在新闻通讯模板的右上角放置了一个粉色圆圈框 http www pedersenshotell se newsletter http www pede
  • 使用 JSON 传递 HTML

    我正在使用 JSON 将数据传递到 iPhone 和 iPad 数据的一个字段是 HTML 问题是编码 这是我得到的回复 gt GadgetHTML strong Hello strong gt from Catworld br n img
  • HTML5
    标签的正确使用

    我正在为一家公司编写一个新网页 并且我心中有 HTML5 W3C 建议 的合理子集 读完语义后 hr 我想知道这是否是一个使用它的好地方 section h2 2002 h2 p Dolorem ipsum dolor sit amet i
  • 隐藏选择中的第一个选项[重复]

    这个问题在这里已经有答案了 我在下拉列表中有动态生成的选项 我想隐藏第一个选项 因为不需要 有没有跨浏览器兼容的方法来实现这一点 无论使用 jquery 还是 css 任何解决方案都是好的 Ahmar my drop down select
  • 如何使用 svg 使 iframe“可聚焦”

    我想检测 iframe 上的点击 这建议 https stackoverflow com a 8101458 246719执行此操作的方法是捕获父窗口上的模糊事件 但是 当用户单击 iframe 内的 svg 时 它不会获得焦点 根窗口也不
  • 禁用右键单击嵌入元素内的 pdf

    我有一个embed我在其中提供路径的元素pdf文件 我想阻止它被下载 但是当我右键单击该 t 时 我会看到保存和打印 pdf 的选项 我想阻止这些选项 I tried 但它禁用除 PDF 之外的整个页面上的右键单击 一种不受 CORS 或
  • Safari 6 (iOS 6) 弹性布局不会换行元素

    我需要将两个框放在列中 这在我测试过的其他浏览器中有效 但在 iOS 6 上的 Safari 6 中无效 例子 http jsfiddle net 5FESj 1 http jsfiddle net 5FESj 1 display webk
  • Vue js按钮冻结dom

    我试图在按下按钮时切换包含加载动画的跨度 直到使用 v if 函数完成 但是当我按下按钮时 DOM 冻结并且 span 元素保持不变 直到函数调用结束 如何让 DOM 不冻结并显示加载图标 非阻塞按钮按下可能是一个解决方案 HTML
  • 将字符串编码为 HTML 字符串 Swift 3

    如何快速编码字符串以删除所有特殊字符并将其替换为其匹配的 html 编号 假设我有以下字符串 var mystring This is my String That s it 然后用它的html编号替换特殊字符 38 39 gt 62 但我
  • as3 - 如何停止视频并分离 NetStream

    我有来自服务器的视频流 稍后我想并排添加另一个视频 那就好 我做到了 现在当我想删除视频时我的问题来了 我设法将其从显示中删除 但我可以听到视频仍在后台播放 那么我怎样才能停止播放该视频呢 这是我设置视频的代码 ns new NetStre
  • Bootstrap 3 - 使用垂直滚动条水平拖动元素,overflow-y:滚动

    在我的失败之后上一篇文章 https stackoverflow com questions 23586926 bootstrap grid with scrollable affixed column noredirect 1 comme
  • 如何防止在达到一定字符数后向文本区域输入内容?

    使用下面的代码 任何超过指定最大值的输入都将被删除 但这会产生一种效果 即键入字符后立即将其删除 我宁愿简单地阻止输入字符
  • 表单提交不起作用

    我有一张桌子 可以打印出所有可用的相机 它使用表单来更改这些设置 问题在于该表单仅更新条目中的最后一个摄像机 换句话说 如果我更改表单并为列表中的最后一个摄像机点击 应用 它将起作用 如果我更改此列表中任何其他摄像机的表单 它会将其更改为与
  • 检测 JavaScript 中的焦点丢失

    我希望能够检测 JavaScript 中任意元素何时失去焦点 因此我可以构建一个类似于 jEdit 的内联编辑工具 我不能依赖 jQuery 来实现这个库 所以我需要一个本机方法来完成它 我查看了 onblur 这似乎是正确的事情 但 MD
  • 当内部图像缩放时,包裹 div 不会调整大小(窗口大小调整的结果)

    我希望我的图像随着窗口高度的变化而调整大小 同时保持包含的 div 收缩包裹图像 我尝试使用 div img src http akamaicovers oreilly com images 9780596806767 cat gif al

随机推荐

  • 方法优化

    我有一个 void 函数 里面有很多 if 语句 并且所有这些语句都是必需的 我真的无法删除任何内容 但我觉得还可以做得更好 使用一些LINQ Where 课程或类似的东西 我要优化表达void Smooth尽可能少的字符 void Smo
  • 推断类型为“AnyClass”,这可能是意外的

    这是我的代码 if let runningTests NSClassFromString XCTestCase return false 编译器警告 不断的 runningTests 被推断为 AnyClass 类型 这可能 出乎意料 我需
  • Angular 6 - Google Picker API 弹出窗口

    只能偶尔访问一次 Google Picker 每次我打开应用程序时 Google Picker 弹出窗口都不会打开 我正在 Angular 6 中实现 Google Picker API 我在 Angular 的 asset 文件夹中为连接
  • 提高 OpenCV 中的相机捕获分辨率

    在我的 C C 程序中 我使用OpenCV从我的网络摄像头捕获图像 相机 罗技 QuickCam IM 可以以分辨率捕获320x240 640x480 and 1280x960 但是 出于某种奇怪的原因 OpenCV 给了我分辨率图像320
  • 模板的模板成员的消歧模板关键字:具体什么时候?

    这里给出了有关模板消歧器的问题 模板消歧器 在答案中我们可以看到 ISO C 0314 2 4 当成员模板专业化的名称出现在 后时 或 gt 在后缀表达式中 或在限定 ID 中的嵌套名称说明符之后 并且后缀表达式或限定 ID 显式依赖于模板
  • 一起处理异常的公共部分

    我目前正在尝试重构一些代码 一大堆异常有一些针对所有异常的通用代码 以及一些需要针对每个特定异常类型单独处理的特定代码 我试图找出如何摆脱每个的共同部分catch堵塞 一个想法是这样做 try Stuff that may fail cat
  • AWS ElasticBeanstalk 符号链接

    我不想将我的 config database yml 文件放在 GITHUB 中 而是将其放在某个地方并执行如下所示的符号链接 config database yml gt var www database yml 在 elasticbea
  • 不带 src 属性但带 class 属性的 img 标签随机显示

    我刚刚在 stackoverflow 中遇到一个问题 用户想要在 html 中给出一个图标 但不使用 img src smiley gif alt Smiley face width 42 height 42 但是 使用类似的类 img c
  • 返回类型推导[重复]

    这个问题在这里已经有答案了 可能的重复 在 C 11 中省略返回类型 在 C 11 中 如果主体仅包含 return 语句 则 lambda 可以推断出它们的返回类型 A提案即是作品取消这个限制 显然它已经在 GCC 中运行了 有什么原因不
  • 获取 Inno Setup 中父文件夹的路径

    我需要获取父文件夹 app 如果最终用户没有更改默认值 这是标准的 但如果他这样做了 问题就会变得更大 基本上 我需要一个函数 它将输出直到最后的所有内容 反斜杠 包含 想尝试一下Pos 但它只检测该字符的第一个实例 Use the Ext
  • Win7和Win10之间的定时器差异

    我有一个应用程序 我使用 MinGW 实现gettimeofday在Win7上实现 精确 计时 1ms精度 效果很好 然而 当在Win10上使用相同的代码 甚至相同的 exe 时 精度急剧下降到著名的15 6ms精度 这对我来说还不够 两个
  • Java 的 WS-Discovery 实现 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 JAX WS RI Axis2 CXF 或其他工具包是否有 WS Discovery 规范的实现 据我所知 唯一的 Java 实现是这个 http
  • 动态生成属性和空参数的表达式

    Note 请仔细注意 这不是重复的 我需要创建以下 Lambda 表达式 gt model property 模型及其属性将在运行时确定 我想要一个接受模型和属性并生成表达式的函数 public object GenerateLambda
  • 当(很快)有 1000 个 TLD 时,使用 JavaScript 进行电子邮件验证

    我刚刚读过一篇文章其中指出 互联网域名地址向新后缀浪潮开放 互联网命名委员会批准巨大 扩大批准的领域 扩展名为 hotel bank 或 体育拍卖可能 com 首次推出二十六年后 官方已向世界揭晓 消除了严格的监管规定 网站命名 整体开放
  • 设置 CALayer 渐变背景

    我正在尝试向我创建的 CALayer 添加渐变 我可以使用以下命令设置 CALayer 的背景颜色 self colorLayer CALayer layer self colorLayer setBackgroundColor color
  • 正则表达式 C# 从 标签中提取 url

    然而 我试图从标签中提取 URL 而不是获取https website com id1 我正在获取标签链接文本 这是我的代码 string text a href MyLink a string parsed Regex Replace t
  • SqlCommandBuilder() 为基础表而不是视图创建插入/更新

    我有两个模式 如下所示 模式 数据 gt 保存表 没有人可以从外部访问它们 Schema ui gt 保存可从外部访问的视图 这个想法是您可以在这些视图上选择 删除 更新 插入 因此 我正在做所有权链 例如 create table dat
  • 重载函数隐藏在派生类中

    在派生类中如果我从基类重新定义 重载函数名称 那么这些重载函数对于派生类来说是不可访问 可见的 为什么是这样 如果我们不在派生类中重写基类的重载函数 那么该函数的所有重载版本都可用于派生类物体 这是为什么 这背后的原因是什么 如果您在编译器
  • 以类型安全的方式将方法的代码作为参数传递

    将方法作为参数传递不是问题 type TSomething class Msg string procedure Show end procedure TSomething Show begin ShowMessage Msg end ty
  • Android webview 视频自动播放成功,但相同的 apk 在 android Tv mini pc 上失败?

    我已经设法让我的视频自动播放在我的 webview apk 中 在我的手机 4 1 2 上进行了测试并且它可以工作 而在我的 Android 迷你电脑 4 2 上必须单击才能开始播放 WebChromeClient 可能是原因吗 如果它与