小程序
小游戏
企业微信
微信支付
扫描小程序码分享
点击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); }) },
对了。还有一个事情就是,我点击cover-view的时候,开发工具上有时候会触发bindpause事件。有时候不触发。真机上是一直有触发,而且是触发2次bindpause,这个又是为什么呢,更不明白了,求大神指教指教,谢谢
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
我粗略的试了下,在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) }
https://developers.weixin.qq.com/s/z3M6KEmG7hhZ
<cover-view class="video_cover" wx:if="{{isShow}}" bindtap="bindplay">
<cover-image src="/images/video_cover.png" mode="widthFix"></cover-image>
<cover-image src="/images/video_play.png" mode="widthFix" class="video_play_icon"></cover-image>
<cover-view class="video_bg_black">
</cover-view>
</cover-view>
</video>
width: 100%;
height: 400rpx;
/* position: fixed;
top: 0; */
}
.videostyle{
width: 100%;
height: 100%;
}
.video_cover{
width:100%;
height:100%;
position:fixed;
}
.video_play_icon{
position:absolute;
left:50%;
top:50%;
transform:translate(-50%,-50%);
width:40px;
height:40px;
z-index:5
}
.video_bg_black{
position:absolute;
left:0;
top:0;
bottom:0;
right:0;
background:rgba(0,0,0,.3);
}
发下你的事件函数
下面是我设置点击量的时候写的代码 可以参考一下
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); }) },
<cover-view class="video_cover" wx:if="{{isShow}}" bindtap="bindplay">
<cover-image src="/images/video_cover.png" mode="widthFix"></cover-image>
<cover-image src="/images/video_play.png" mode="widthFix" class="video_play_icon"></cover-image>
<cover-view class="video_bg_black">
</cover-view>
</cover-view>
</video>
width: 100%;
height: 400rpx;
/* position: fixed;
top: 0; */
}
.videostyle{
width: 100%;
height: 100%;
}
.video_cover{
width:100%;
height:100%;
position:fixed;
}
.video_play_icon{
position:absolute;
left:50%;
top:50%;
transform:translate(-50%,-50%);
width:40px;
height:40px;
z-index:5
}
.video_bg_black{
position:absolute;
left:0;
top:0;
bottom:0;
right:0;
background:rgba(0,0,0,.3);
}
对了。还有一个事情就是,我点击cover-view的时候,开发工具上有时候会触发bindpause事件。有时候不触发。真机上是一直有触发,而且是触发2次bindpause,这个又是为什么呢,更不明白了,求大神指教指教,谢谢