微信小程序开发—(十六)video视频播放
2017-05-17 13:42
796 查看
一.知识点
1.video
video标签认宽度300px、高度225px,设置宽高需要通过wxss设置width和height。
2.wx.createVideoContext(videoId):创建并返回
video 上下文
videoContext:
videoId 跟一个 video 组件绑定,通过它可以操作一个 video 组件。
二.操作
1.视频播放:发送弹幕
<
4000
p>wxml
<view class="section">
<video id="myVideo" src="{{src}}" danmu-list="{{danmuList}}" enable-danmu danmu-btn controls></video>
<view class="btn-area">
<button type="primary" bindtap="videoPlay">播放</button>
<button type="primary" bindtap="videoPause">暂停</button>
<input bindblur="bindInputBlur" placeholder="请输入弹幕内容"/>
<button bindtap="bindButtonTap">获取视频</button>
<button bindtap="bindSendDanmu">发送弹幕</button>
</view>
</view>
js
var util = require('../../utils/util.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: '',
data: {
src: 'http://wxsnsdy.tc.qq.com/105/20210/snsdyvideodownload?
filekey=30280201010421301f0201690402534804102ca905ce620b1241b72
6bc41dcff44e00204012882540400&bizid=1023&hy=SH&fileparam=302c0
20101042530230204136ffd93020457e3c4ff02024ef202031e8d7f020
30f42400204045a320a0201000400',
danmuList: [
{
text: '第 1s 出现的弹幕',
color: '#ff0000',
time: 1
},
{
text: '第 3s 出现的弹幕',
color: '#ff00ff',
time: 3
}]
},
//播放
videoPlay:function(){
this.videoContext.play();
},
//暂停
videoPause:function(){
this.videoContext.pause();
},
//写弹幕
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()
})
}
})
2.监听视频加载错误状态
1.video
video标签认宽度300px、高度225px,设置宽高需要通过wxss设置width和height。
2.wx.createVideoContext(videoId):创建并返回
video 上下文
videoContext对象
videoContext:
videoContext通过
videoId 跟一个 video 组件绑定,通过它可以操作一个 video 组件。
二.操作
1.视频播放:发送弹幕
<
4000
p>wxml
<view class="section">
<video id="myVideo" src="{{src}}" danmu-list="{{danmuList}}" enable-danmu danmu-btn controls></video>
<view class="btn-area">
<button type="primary" bindtap="videoPlay">播放</button>
<button type="primary" bindtap="videoPause">暂停</button>
<input bindblur="bindInputBlur" placeholder="请输入弹幕内容"/>
<button bindtap="bindButtonTap">获取视频</button>
<button bindtap="bindSendDanmu">发送弹幕</button>
</view>
</view>
js
var util = require('../../utils/util.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: '',
data: {
src: 'http://wxsnsdy.tc.qq.com/105/20210/snsdyvideodownload?
filekey=30280201010421301f0201690402534804102ca905ce620b1241b72
6bc41dcff44e00204012882540400&bizid=1023&hy=SH&fileparam=302c0
20101042530230204136ffd93020457e3c4ff02024ef202031e8d7f020
30f42400204045a320a0201000400',
danmuList: [
{
text: '第 1s 出现的弹幕',
color: '#ff0000',
time: 1
},
{
text: '第 3s 出现的弹幕',
color: '#ff00ff',
time: 3
}]
},
//播放
videoPlay:function(){
this.videoContext.play();
},
//暂停
videoPause:function(){
this.videoContext.pause();
},
//写弹幕
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()
})
}
})
2.监听视频加载错误状态
<!--监听button点击事件--> <button bindtap="listenerButton">点击显示视频组件</button> <!--视频组件src资源地址,binderror为监听错误信息--> <video src="http://mvvideo1.meitudata.com/575c2b652d7375255.mp4" style="width: 100%; height: 100%" hidden="{{hiddenVideo}}" binderror="listenerVideo" />
Page({ data:{ // text:"这是一个页面" hiddenVideo: true }, /** * 监听视频加载错误状态 */ listenerVideo:function(e) { console.log(e.detail.errMsg); }, /** * 监听button点击事件 */ listenerButton:function() { this.setData({ hiddenVideo: !this.data.hiddenVideo }) } })
相关文章推荐
- 微信小程序开发之视频播放器 Video 弹幕 弹幕颜色自定义
- 微信小程序开发——视频播放历史记录
- 微信小程序源码大集005----微信小程序开发之视频播放器带弹幕Video弹幕颜色自定义(有图有源码)
- 微信小程序开发之视频播放器 Video 弹幕 弹幕颜色自定义
- 微信小程序例子——使用video组件播放视频
- 微信小程序之----video视频播放
- 微信小程序开发之视频播放器 Video 弹幕 弹幕颜色自定义实例
- 微信小程序例子——使用video组件播放视频
- 微信小程序使用video组件播放视频功能示例【附源码下载】
- 微信小程序之----video视频播放
- 微信小程序开发视频分享
- 微信小程序 vidao实现视频播放和弹幕的功能
- 微信小程序开发之录音机 音频播放 动画实例 (真机可用)
- 微信小程序-图片、录音、音频播放、音乐播放、视频、文件代码实例
- asp.net mvc 2.0+Silverlight播放器开发的TeamVideo视频播放网站--系列3
- 微信小程序示视频应用场景例利用腾讯云仅限开发案例四
- 微信小程序开发视频教程新鲜出炉
- 微信小程序开发实战视频教程发布
- 点对点视频会议程序VideoNet开发例解