微信小程序 vidao实现视频播放和弹幕的功能


Posted in Javascript onNovember 02, 2016

 微信小程序 vidao视频播放及弹幕的功能的实现。

vidao

我现在看到的官方文档是不带danmu(弹幕)属性的,之前是有的,不过现在这个属性还可以生效。控制视频的状态可以根据video标签的唯一id得到一个对象实例。video组件并不具备action属性,不能通过action来控制。

.wxml

<view class="section tc">
 <video src="{{src}}"  controls ></video>
 <view class="btn-area">
  <button bindtap="bindButtonTap">获取视频</button>
 </view>
</view>

<!-- 
 danmu-list:弹幕列表
 enable-danmu:是否显示弹幕
 danmu-btn:弹幕按钮
 controls:是否显示视频控件,并没有什么用
 -->
<view class="section tc">
 <video id="myVideo" src="http://wxsnsdy.tc.qq.com/105/20210/snsdyvideodownload?filekey=30280201010421301f0201690402534804102ca905ce620b1241b726bc41dcff44e00204012882540400&bizid=1023&hy=SH&fileparam=302c020101042530230204136ffd93020457e3c4ff02024ef202031e8d7f02030f42400204045a320a0201000400" binderror="videoErrorCallback" 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>

<!-- 现在的video就下面三个属性 -->
<video src="" binderror="" hidden></video>

.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: '',
  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()
  })
 },
  videoErrorCallback: function(e) {
   console.log('视频错误信息:');
   console.log(e.detail.errMsg);
  }
})

效果

 微信小程序 vidao实现视频播放和弹幕的功能

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
jquery+ajax每秒向后台发送请求数据然后返回页面的代码
Jan 17 Javascript
当jQuery1.7遇上focus方法的问题
Jan 26 Javascript
深入理解JavaScript系列(34):设计模式之命令模式详解
Mar 03 Javascript
jquery实现点击页面回到顶部
Nov 23 Javascript
详解Vue 动态添加模板的几种方法
Apr 25 Javascript
JS中的三个循环小结
Jun 20 Javascript
Angular2 组件通信的实例代码
Jun 23 Javascript
详解webpack-dev-server的简单使用
Apr 02 Javascript
a标签调用js的方法总结
Sep 05 Javascript
VUE实现图片验证码功能
Nov 18 Javascript
原生JavaScript实现的无缝滚动功能详解
Jan 17 Javascript
vue 判断两个时间插件结束时间必选大于开始时间的代码
Nov 04 Javascript
bootstrap基础知识学习笔记
Nov 02 #Javascript
AngularJS深入探讨scope,继承结构,事件系统和生命周期
Nov 02 #Javascript
Bootstrap table的使用方法
Nov 02 #Javascript
AngularJS指令用法详解
Nov 02 #Javascript
AngularJS表单和输入验证实例
Nov 02 #Javascript
AngularJS入门教程之数据绑定原理详解
Nov 02 #Javascript
深入理解Node.js 事件循环和回调函数
Nov 02 #Javascript
You might like
php获取远程文件大小
2015/10/20 PHP
PHP Ajax跨域问题解决方案代码实例
2020/08/01 PHP
JavaScript闭包 懂不懂由你反正我是懂了
2011/10/21 Javascript
Javascript获取窗口(容器)的大小及位置参数列举及简要说明
2012/12/09 Javascript
浅析js中取绝对值的2种方法
2013/07/09 Javascript
JavaScript获取XML数据附示例截图
2014/03/05 Javascript
jquery动态添加元素事件失效问题解决方法
2014/05/23 Javascript
javascript中不提供sleep功能如何实现这个功能
2014/05/27 Javascript
JavaScript获取页面中第一个锚定文本的方法
2015/04/03 Javascript
DEDECMS如何为文章添加HOT NEW标志图片
2015/08/14 Javascript
JS实现网页游戏中滑块响应鼠标点击移动效果
2015/10/19 Javascript
bootstrap multiselect 多选功能实现方法
2017/06/05 Javascript
Bootstrap实现的表格合并单元格示例
2018/02/06 Javascript
解决Vue在Tomcat8下部署页面不加载的问题
2019/11/12 Javascript
[05:37]DOTA2-DPC中国联赛 正赛 Elephant vs iG 选手采访
2021/03/11 DOTA
python赋值操作方法分享
2013/03/23 Python
详解Python使用simplejson模块解析JSON的方法
2016/03/24 Python
python3.5使用tkinter制作记事本
2016/06/20 Python
python感知机实现代码
2019/01/18 Python
解决python 3 urllib 没有 urlencode 属性的问题
2019/08/22 Python
浅析Python语言自带的数据结构有哪些
2019/08/27 Python
PyQt5中向单元格添加控件的方法示例
2020/03/24 Python
pandas to_excel 添加颜色操作
2020/07/14 Python
Python中bisect的用法及示例详解
2020/07/20 Python
css3 利用transform打造走动的2D时钟
2020/10/20 HTML / CSS
美国设计师精美珠宝购物网:Netaya
2016/08/28 全球购物
世界上最好的帽子:Tilley
2016/11/27 全球购物
C语言面试题
2013/05/19 面试题
性能测试工程师的面试题
2015/02/20 面试题
2014标准社保办理委托书
2014/10/06 职场文书
运动会表扬稿
2015/01/16 职场文书
2015年护士节活动总结
2015/02/10 职场文书
简爱读书笔记
2015/06/26 职场文书
行政处罚事先告知书
2015/07/01 职场文书
会计实训总结范文
2015/08/03 职场文书
纯CSS3实现div按照顺序出入效果
2021/07/15 HTML / CSS