微信小程序 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 相关文章推荐
JS Timing
Apr 21 Javascript
JQuery Tips(2) 关于$()包装集你不知道的
Dec 14 Javascript
Javascript引用指针使用介绍
Nov 07 Javascript
屏蔽IE弹出&quot;您查看的网页正在试图关闭窗口,是否关闭此窗口&quot;的方法
Dec 31 Javascript
js中用window.open()打开多个窗口的name问题
Mar 13 Javascript
2014最热门的JavaScript代码高亮插件推荐
Nov 25 Javascript
JavaScript获取页面中超链接数量的方法
Nov 09 Javascript
折叠菜单及选择器的运用
Feb 03 Javascript
vue-cli 为项目设置别名的方法
Oct 15 Javascript
解决vue-cli项目开发运行时内存暴涨卡死电脑问题
Oct 29 Javascript
基于JavaScript实现留言板功能
Mar 16 Javascript
vue离开当前页面触发的函数代码
Sep 01 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/05/12 PHP
如何通过View::first使用Laravel Blade的动态模板详解
2017/09/21 PHP
动感效果的TAB选项卡jquery 插件
2011/07/09 Javascript
js解析xml字符串和xml文档实现原理及代码(针对ie与火狐)
2013/02/02 Javascript
JQUERY dialog的用法详细解析
2013/12/19 Javascript
在JavaScript中操作时间之getYear()方法的使用教程
2015/06/11 Javascript
详解JavaScript对W3C DOM模版的支持情况
2015/06/16 Javascript
javascript实现的简单的表单验证
2015/07/10 Javascript
jquery不常用方法汇总
2015/07/26 Javascript
jquery实现可旋转可拖拽的文字效果代码
2016/01/27 Javascript
jQuery实现限制文本框的输入长度
2017/01/11 Javascript
JSON与JS对象的区别与对比
2017/03/01 Javascript
详解js静态资源文件请求的处理
2017/08/01 Javascript
简单实现js上传文件功能
2017/08/21 Javascript
详解基于 axios 的 Vue 项目 http 请求优化
2017/09/04 Javascript
VUE 自定义组件模板的方法详解
2019/08/30 Javascript
jquery实现直播视频弹幕效果
2020/02/25 jQuery
vue实现购物车的小练习
2020/12/21 Vue.js
[03:14]DOTA2斧王 英雄基础教程
2013/11/26 DOTA
浅谈python中requests模块导入的问题
2018/05/18 Python
详解Python最长公共子串和最长公共子序列的实现
2018/07/07 Python
对Pyhon实现静态变量全局变量的方法详解
2019/01/11 Python
详解Python 字符串相似性的几种度量方法
2019/08/29 Python
使用python实现希尔、计数、基数基础排序的代码
2019/12/25 Python
python 的topk算法实例
2020/04/02 Python
python GUI计算器的实现
2020/10/09 Python
用python对excel查重
2020/12/07 Python
会计岗位职责模板
2014/03/12 职场文书
防灾减灾活动总结
2014/08/30 职场文书
领导班子对照检查材料
2014/09/22 职场文书
2015年宣传部工作总结范文
2015/03/31 职场文书
2015年社区妇联工作总结
2015/04/21 职场文书
创业计划书之旅游网站
2019/09/06 职场文书
mybatis使用oracle进行添加数据的方法
2021/04/27 Oracle
MySQL优化之如何写出高质量sql语句
2021/05/17 MySQL
JavaScript 数组去重详解
2021/09/15 Javascript