车仔
车仔
  • 发布:2014-10-16 18:46
  • 更新:2017-03-21 08:54
  • 阅读:7476

安卓平台Video控件需要手工点击一下才能播放

分类:HBuilder

做了一个简单的HTML5网页,里面只有一个Video控件,用来测试播放一段视频。

发布到安卓手机上以后,发现每次启动时候,video控件都是灰色的,需要手工点击一下才能播放。
有没有什么方法让它在安卓上能够自动加载播放。(用PC浏览器打开都正常加载)

{{{
<video id="video2" width="320" height="240" controls="controls" autoplay="autoplay">
<source src="http://up.golivetv.tv/up/jykt/jykt.m3u8"></source>
当前浏览器不支持 video直接播放
</video>
}}}

2014-10-16 18:46 负责人:无 分享
已邀请:
DCloud_App_Array

DCloud_App_Array

自动播放在移动设备上可能会导致不好的用户体验,因此大多数移动设备不支持自动播放。如果要播放必须用户手工主动触发,比如点击一个按钮或者其他操作。

在HBuilder runtime上可以这样实现:

document.addEventListener("plusready",function(){  
    document.getElementById("video2").play();  
},false);
duchang110

duchang110

@DCloud_App_Array 貌似还是不能自动播放啊

duchang110

duchang110

在浏览器中可以,在mui下不行

chender

chender - 与人为善

var evt = document.createEvent("HTMLEvents");
evt.initEvent("click", false, true);
video.dispatchEvent(evt);

  • 陌生

    视频自动播放,能详细说一下方法吗?

    2015-10-15 16:39

wp_drifter

wp_drifter

video的说明
自动播放

autoplay的支持依赖内核和网络状况,比如iPhone在蜂窝网络下明确禁用了autoplay;

经过试验,在没有明确的用户操作的情况下,直接通过video.play()也是无法激活播放的;
iOS < 6

可以在用户的touch时间中动态创建视频,但不能播放;要再追加一个click事件来启动播放;也就是说,给伪造的视频播放按钮同时绑定tap和click事件,在tap的时候创建,在之后300毫秒的click中去播放。

Android

大部分高版本Android可以像iOS6+那样去处理,但是低版本的不行,必须要通过click事件去传递video.play(),为了保持兼容,最好是用帮tap和click两个事件来分别完成视频的初始化和播放。

我们还发现,有些低版本Android中,无法通过video.play()来播放视频,必须有真实的用户点击视频元素才能播放;这种情况,有一个技巧就是在tap的时候初始化并放大视频覆盖在播放视图中,让300毫秒后的真实点击行为穿透点击在视频元素上来实现播放。

lam

lam

把硬件加速打开就可以

该问题目前已经被锁定, 无法添加新回复