微信小程序 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 相关文章推荐
javascript 进度条 实现代码
Jul 30 Javascript
window.onbeforeunload方法在IE下无法正常工作的解决办法
Jan 23 Javascript
JavaScript实现列表分页功能特效
May 15 Javascript
JS中使用apply方法通过不同数量的参数调用函数的方法
May 31 Javascript
jQuery+css实现非常漂亮的水平导航菜单效果
Jul 27 Javascript
BootStrap实现响应式布局导航栏折叠隐藏效果(在小屏幕、手机屏幕浏览时自动折叠隐藏)
Nov 30 Javascript
基于node.js制作简单爬虫教程
Jun 29 Javascript
mint-ui的search组件在键盘显示搜索按钮的实现方法
Oct 27 Javascript
Layer.js实现表格溢出内容省略号显示,悬停显示全部的方法
Sep 16 Javascript
浅谈layui 绑定form submit提交表单的注意事项
Oct 25 Javascript
Javascript实现单选框效果
Dec 09 Javascript
动态规划之使用备忘录来改进Javascript函数
Apr 07 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中显示格式化的用户输入
2006/10/09 PHP
PHP实现抓取HTTPS内容
2014/12/01 PHP
PHP遍历XML文档所有节点的方法
2015/03/12 PHP
Ext第一周 史上最强学习笔记---GridPanel(基础篇)
2008/12/29 Javascript
基于jQuery实现的Ajax 验证用户名是否存在的实现代码
2011/04/06 Javascript
js获取URL的参数的方法(getQueryString)示例
2013/09/29 Javascript
js数组转json并在后台对其解析具体实现
2013/11/20 Javascript
用javascript删除当前行,添加行(示例代码)
2013/11/25 Javascript
jQuery中:checkbox选择器用法实例
2015/01/03 Javascript
JavaScript实现为指定对象添加多个事件处理程序的方法
2015/04/17 Javascript
jQuery的实例及必知重要的jQuery选择器详解
2016/05/20 Javascript
KnockoutJS 3.X API 第四章之表单submit、enable、disable绑定
2016/10/10 Javascript
深入学习jQuery中的data()
2016/12/22 Javascript
微信小程序技巧之show内容展示,上传文件编码问题
2017/01/23 Javascript
JS和jQuery通过this获取html标签中的属性值(实例代码)
2017/09/11 jQuery
微信小程序实现跑马灯效果
2020/10/21 Javascript
vue制作toast组件npm包示例代码
2020/10/29 Javascript
Python程序设计入门(4)模块和包
2014/06/16 Python
Python利用带权重随机数解决抽奖和游戏爆装备问题
2016/06/16 Python
python 中文件输入输出及os模块对文件系统的操作方法
2018/08/27 Python
python+opencv实现高斯平滑滤波
2020/07/21 Python
基于Django框架的权限组件rbac实例讲解
2019/08/31 Python
python爬虫实现获取下一页代码
2020/03/13 Python
为什么是 Python -m
2020/06/19 Python
linux centos 7.x 安装 python3.x 替换 python2.x的过程解析
2020/12/14 Python
英国豪华家具和经典家居饰品购物网站:OKA
2020/06/05 全球购物
西安众合通用.net笔试题
2013/03/18 面试题
小孩百日宴答谢词
2014/01/15 职场文书
科技之星事迹材料
2014/06/02 职场文书
员工薪酬激励方案
2014/06/13 职场文书
党员学习群众路线教育实践活动对照检查材料
2014/09/23 职场文书
2014年统计工作总结
2014/11/21 职场文书
公司仓管员岗位职责
2015/04/01 职场文书
python基础详解之if循环语句
2021/04/24 Python
python如何正确使用yield
2021/05/21 Python
利用Python实现Picgo图床工具
2021/11/23 Python