-----------支持作者请转发本文-----------

video组件用于播放网络或本地视频。video组件中最常用的属性是src,用于指定视频文件的路径,例如,下面的布局代码会播放一个网络视频文件。

<view style="margin:30px"><text >播放网络视频</text><video  style="margin-top:10px"src="http://flv.bn.netease.com/videolib3/1605/22/auDfZ8781/HD/auDfZ8781-mobile.mp4" binderror="videoErrorCallback"></video>
</view>

一开始运行,视频并未自动播放,效果如图1所示。

图1  video组件的默认效果

点击播放按钮后,开始播放视频,效果如图2所示。

图2 video组件播放视频的效果

在前面的布局代码中,video组件还指定了binderror属性,该属性指定了如果视频文件播放出错(如路径不对),将调用的方法。该方法的代码如下:

videoErrorCallback: function (e) {console.log('视频错误信息:');console.log(e.detail.errMsg);
}

如果视频播放出差,会在Console中输出如图3所示的日志信息。

图3  视频错误信息

如果要让视频在装载后自动播放,需要使用autoplay属性,该属性值为true,视频会自动播放,布局代码如下:

<video … … autoplay="true"></video>

下面看一下如何让video组件播放本地视频。首先在video组件下面放置一个button,点击该button,会弹出一个选择视频文件对话框,选择本地视频文件后,会自动在video组件中播放。布局代码如下:

<view style="margin:30px"><video src="{{src}}" autoplay="true"></video><button bindtap="bindButtonTap">获取视频</button>
</view>

video组件的src属性和src变量绑定,点击button后,会调用bindButtonTap方法,该方法的实方法如下:

Page({data:{src:""},bindButtonTap:function(){var that = this;wx.chooseVideo({sourceType:['album','camera'],maxDuration:60,camera:['front','back'],success:function(res){that.setData({src:res.tempFilePath})console.log(res.tempFilePath);}})},… …
})

从这段代码看出,bindButtonTap通过调用wx.chooseVideo方法弹出了选择视频文件的对话框,如图4所示。

图4  选择视频对话框(Mac OS X)

当选择一个视频文件后,会自动播放该视频,效果如图5所示。

图5  自动播放本地视频

从日志输出结果中可以看到,本地文件名如下:

wxfile://tmp_766585555o6zAJs2t5tIf5IgXSSAKZjRtz91g1482398885788.mp4

该文件名以wxfile开头,是小程序生成的一个临时文件,将视频文件路径直接赋给src属性也可以播放,布局代码如下:

<view style="margin:30px"><video src="wxfile://tmp_766585555o6zAJs2t5tIf5IgXSSAKZjRtz91g1482398885788.mp4"autoplay="true"></video><button bindtap="bindButtonTap">获取视频</button>
</view>

对本文感兴趣,可以加李宁老师微信公众号(unitymarvel):

关注  极客起源  公众号,获得更多免费技术视频和文章。

微信小程序开发实战(15):视频组件(video)相关推荐

  1. 微信小程序python入门教程-2020Python+微信小程序开发实战(视频+课件)

    本套课程出自老男孩IT教程的Python+微信小程序开发实战官网售价79元,课程基于微信小程序平台开发的的拍卖系统.课程分为4个章节微信小程序快速入门用微信小程序快速开发认证和发布动态模块,第二章拍卖 ...

  2. 微信小程序开发实战(9):单行输入和多行输入组件

    -----------支持作者请转发本文----------- 1.  单行输入组件(input) input组件用于录入单行文本,尽管input的基本功能是文本录入,但该组件的属性还是比较多的,也比 ...

  3. 微信小程序开发实战课程之油耗计算器-耿广龙-专题视频课程

    微信小程序开发实战课程之油耗计算器-3406人已学习 课程介绍         微信小程序开发实战课程之油耗计算器,通过练习开发工具类的油耗计算器小程序,可以帮助大家了解微信小程序的API,相关组件的 ...

  4. JEECG社区微信小程序开发实战-张代浩-专题视频课程

    JEECG社区微信小程序开发实战-511人已学习 课程介绍         微信小程序开发培训,包含环境搭建.实例讲解.对接支付功能等课题. 课程收益     微信小程序开发培训,包含环境搭建.实例讲 ...

  5. 视频教程-微信小程序开发实战之番茄时钟开发-微信开发

    微信小程序开发实战之番茄时钟开发 4年web前后端开发经验,熟悉PHP,Python后端技术,熟悉基于Lnmp环境的项目开发和部署,擅长Yii,ThinkPHP,CI,Django,Flask等国内外 ...

  6. 《微信小程序开发实战》课后题

    黑马程序员版<微信小程序开发实战> 第一章 填空题 1.微信小程序可以通过________方式打开. 答案:扫描二维码 2.微信开发者工具中的上传是指将代码上传到________. 答案: ...

  7. JEECG社区《微信小程序开发培训》视频

    为什么80%的码农都做不了架构师?>>>    JEECG社区<微信小程序开发培训>视频 课      程:  JEECG 微信小程序开发培训 讲      师:   周 ...

  8. 王者级微信小程序开发实战教学 从零到高手搭建微信小程序框架开发教程

    王者级微信小程序开发实战教学 从零到高手搭建微信小程序框架开发教程 小程序进阶 王者级微信小程序开发实战教学课程,讲师手把手对同学们进行微信小程序开发的进阶实战,从零开始搭建,从本地到云端开始系统化的 ...

  9. 微信小程序开发03-这是一个组件

    编写组件 基本结构 接上文:微信小程序开发02-小程序基本介绍 我们今天先来实现这个弹出层: 之前这个组件是一个容器类组件,弹出层可设置载入的html结构,然后再设置各种事件即可,这种组件有一个特点: ...

  10. 微信小程序|开发实战篇之二

    开发实战篇之二 前言 1.零碎知识点和优化点 1.1 ES6模板字符串 1.2 ES6扩展运算符 1.3 独立更新like组件状态 1.4 自定义组件支持hidden 2.音乐music组件开发 2. ...

最新文章

  1. python入门教程 官方-Python自学入门?
  2. android蓝牙打印机
  3. 大佬把Spring框架总结的「无比详细」,不信你学不会!
  4. 再谈序列化推荐-集成item类目属性
  5. 判断两线段是否相交——快速排斥与跨立实验
  6. win7建立wifi热点
  7. 用calloc()函数分配内存
  8. Visual Studio IDE 背景色该为保护眼睛色
  9. Android清除本地数据缓存代码
  10. java基础学习总结_java基础班学习心得(感言)
  11. 关于webstorm更换主题
  12. 通过代理上网,如何配置Outlook
  13. 我的产品经理书单(2017-2019)
  14. KanziStudio应用程序配置详解
  15. Rescue-Prime hash STARK
  16. 超宽带定位中的TOA/TDOA两种最常用算法介绍
  17. 3.1抽象工厂[转]
  18. 2020 - 04 - 11 个人笔记
  19. DICOM:开源DICOM服务框架DCM4CHE 安装
  20. C#窗体应用程序之复选框(ComboBox)与进度条(ProgressBar)应用——倒计时器

热门文章

  1. 微软开源的浏览器自动化工具-Playwright
  2. Python-冒泡排序法
  3. [SWPUCTF 2021 新生赛]easyrce
  4. 哆啦A梦的超级计算机,哆啦A梦的体内究竟有什么?其实你真的低估了这个蓝胖子...
  5. 典型可编程接口芯片及应用
  6. 大数据分析技术研究报告(四)
  7. 【iOS】二进制十进制十六进制转换器
  8. [19]python uniform() 函数
  9. js中jquery鼠标事件(点击替换、鼠标移入、移出)
  10. super关键字的用法