使用android 4浏览器自动启动html5视频

M P*_*ama 15 android html5-video android-browser android-4.0-ice-cream-sandwich android-4.4-kitkat

我想使用android 4冰淇淋三明治浏览器自动启动android html5视频.我尝试了许多html5视频的java脚本函数和autobuffer autoplay标签.但没有任何效果.我通过Android应用程序在webview中启动android chrome客户端,该客户端应该能够自动启动视频.单击播放按钮时播放视频但不播放自动播放.

是否限制在Android?另外需要注意的是,即使我们点击播放按钮并且视频正在播放和完成,也不会在chromeClient中调用回调方法.

我已经google了一下,在Android 4上找不到关于此问题的正面结果.

Kle*_*vič 23

似乎Android 4+改变了要求play()用户交互的方法的要求.如果play()从用户事件处理程序(例如.touchstartmousedown)中触发,则只要在同一事件循环中运行该视频,就可以播放该视频.

这意味着你不应该使用异步触发器来调用play(),而是在没有setTimeout()这样的情况下在同一个事件处理程序中调用play ,所以像延时游戏这样的东西是不可能的.

一种方法是在Android 4上使用与在iOS中相同的技巧 - 使用第一个用户交互事件play()pause()视频.这将使视频能够在以后进行操作,因为您在用户启动的操作期间播放了该视频.成功启动视频后,无论是否在事件处理程序循环内进行调用,您都可以在以后随时调用播放方法.

编辑:这是一个适用于HTC和三星的示例代码,但不适用于Galaxy Nexus 4.1(需要用户互动才能玩):

var myVideo = document.getElementById('myvideo');

myVideo.addEventListener('canplay', function() {
  myVideo.play();
});

myVideo.load();
myVideo.play();
Run Code Online (Sandbox Code Playgroud)