小程序的组件还是挺好用的,直接封装成一个标签,然后按照API说明,设置标签的属性值对组件进行控制及其它操作,video组件也一样。
官网对于video的介绍页很简单,一个默认宽度300px、高度225px的视频组件,然后就是里面包含的属性(太多了,就不截完了,想细看的可以点击这里:https://mp.weixin.qq.com/debug/wxadoc/dev/component/video.html)
接着就是一个小demo
wxml:
<view class="section tc">
<video src="{{src}}" controls ></video>
<view class="btn-area">
<button bindtap="bindButtonTap">获取视频</button>
</view>
</view>
<view class="section tc">
<video id="myVideo" src="http://wxsnsdy.tc.qq.com/105/20210/snsdyvideodownload?filekey=30280201010421301f0201690402534804102ca905ce620b1241b726bc41dcff44e00204012882540400&bizid=1023&hy=SH&fileparam=302c020101042530230204136ffd93020457e3c4ff02024ef202031e8d7f02030f42400204045a320a0201000400" danmu-list="{{danmuList}}" enable-danmu danmu-btn controls></video>
<view class="btn-area">
<button bindtap="bindButtonTap">获取视频</button>
<input bindblur="bindInputBlur"/>
<button bindtap="bindSendDanmu">发送弹幕</button>
</view>
</view>
wxjs:
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: '',
data: {
src: '',
danmuList: [
{
text: '第 1s 出现的弹幕',
color: '#ff0000',
time: 1
},
{
text: '第 3s 出现的弹幕',
color: '#ff00ff',
time: 3
}]
},
bindInputBlur: function(e) {
this.inputValue = e.detail.value
},
bindButtonTap: function() {
var that = this
wx.chooseVideo({
sourceType: ['album', 'camera'],
maxDuration: 60,
camera: ['front','back'],
success: function(res) {
that.setData({
src: res.tempFilePath
})
}
})
},
bindSendDanmu: function () {
this.videoContext.sendDanmu({
text: this.inputValue,
color: getRandomColor()
})
}
})
末尾还来一张效果图
image.png
看着是不是很简单啊,感觉一点难度都没有。是的,等你上手的时候就知道了。
按照惯例,一开始就运行一下这个demo,发现根本行不通,点击没有任何效果
image.png
接着在网上找了很多视频地址都不行(都是.html后缀),接着进到群里问问群里的大佬,给的意见是腾讯网的视频放不了,优酷的视频可以,而且找的视频要.mp4的后缀才行。额···好吧,这点API里没说(或者我没找到),埋头继续找,依然不行。突然想到能不能把视频放到自己的服务器上,然后调用播放。说干就干。
下载了优酷土豆(没打广告,下载它因为可以直接在下载的同时转码为mp4)并安装,好了之后就可以去优酷土豆视频网搜视频,点击打开,下载步骤如下图
1 2 3 4
接着上传服务器,将video的src替换成自己的
image.png
接着运行小程序,成功!
image.png
最后补充一下video的注意事项:
1.video 组件是由客户端创建的原生组件,它的层级是最高的。
- 请勿在 scroll-view 中使用 video 组件。
- css 动画对 video 组件无效。
如果想在video组件上添加组件,可以使用cover-view组件,具体使用方法点击这里:https://mp.weixin.qq.com/debug/wxadoc/dev/component/cover-view.html。
网友评论