wx.createVideoContext(videoId, this)
创建并返回 video 上下文 videoContext
对象。在自定义组件下,第二个参数传入组件实例this,以操作组件内 <video/>
组件
videoContext
videoContext
通过 videoId 跟一个 video 组件绑定,通过它可以操作一个 video 组件。
videoContext 对象的方法列表:
方法 | 参数 | 说明 | 最低版本 |
---|---|---|---|
play | 无 | 播放 | |
pause | 无 | 暂停 | |
seek | position | 跳转到指定位置,单位 s | |
sendDanmu | danmu | 发送弹幕,danmu 包含两个属性 text, color。 | |
playbackRate | rate | 设置倍速播放,支持的倍率有 0.5/0.8/1.0/1.25/1.5 | 1.4.0 |
requestFullScreen | 无 | 进入全屏,可传入{direction}参数(1.7.0起支持),详见video组件文档 | 1.4.0 |
exitFullScreen | 无 | 退出全屏 | 1.4.0 |
示例代码:
<!--wxml文件--> <view class="section tc"> <video id="myVideo" src="http://wxsnsdy.tc.qq.com/105/20210/snsdyvideodownload?filekey=30280201010421301f0201690402534804102ca905ce620b1241b726bc41dcff44e00204012882540400&bizid=1023&hy=SH&fileparam=302c020101042530230204136ffd93020457e3c4ff02024ef202031e8d7f02030f42400204045a320a0201000400" enable-danmu danmu-btn controls> </video> <view class="btn-area"> <input bindblur="bindInputBlur"/> <button bindtap="bindSendDanmu">发送弹幕</button> </view> </view>
//js文件 function getRandomColor() { let rgb = [] for (let i = 0; i < 3; ++i) { let color = Math.floor(Math.random() * 256).toString(16) color = color.length == 1 ? '0' + color : color rgb.push(color) } return '#' + rgb.join('') } Page({ onReady: function (res) { this.videoContext = wx.createVideoContext('myVideo') }, inputValue: '这是一个弹幕!', bindInputBlur: function(e) { this.inputValue = e.detail.value }, bindSendDanmu: function () { this.videoContext.sendDanmu({ text: this.inputValue, color: getRandomColor() }) } })