video组件 是由点击cover-view层控制video播放的按钮。点击的时候没有直接自动播放?
点击cover-view的时候,bindplay执行,that.videoContext.play(),然后把isShow变成false,但是,视频并没有直接播放。而且视频显示出来画面了,还需要点击视频里控制播放的按钮才可以播放,请问大神,这个是什么原因啊?求教怎么解决,谢谢
3 回复
我粗略的试了下,在video里的cover-view绑定一个点击事件,然后创建video上下文VideoContext对象,然后调用.play()就可以了。
1.首先确定视频链接是否能正常播放;2.videoContext是否获取到了
wxml代码:
<video id="vvv" src="视频链接" bindplay="bbb">
<cover-view bindtap="aaa" style="width:200rpx;height:200rpx;background:blue;">fraefreaw</cover-view>
js代码:
aaa() {
let ar = wx.createVideoContext('vvv')
ar.play()
},
bbb(e) {
console.log(e)
}
发下你的事件函数
思路:直接在video标签覆盖一层cover-view然后点击隐藏并播放
下面是我设置点击量的时候写的代码 可以参考一下
wwxml
<video id="polyvVideo" class='liveDetail-video' enable-play-gesture='true' controls='controls' src='{{videoSrc}}' bindtimeupdate="timeUpdate">
<cover-view wx:if="{{onvideoclick}}" class="liveDetail-video-frame" bindtap="videoClick"></cover-view>
</video>
js
//设置播放量
videoClick: function (e){
var that = this;
that.setData({
onvideoclick: false,
},function(){
that.videoContext.play();
var data = {
user_id: app.globalData.uid,
v_id: that.data.v_id,
}
util.publiceFn(config.DOMAIN_API.liveVideoClick, data);
})
},