视频

qh.chooseVideo

解释: 从文件系统中选视频,返回视频的临时文件路径。

方法参数:Object object

object参数说明

参数名类型必填默认值说明
sourceType-暂不支持
compressed-暂不支持
maxDuration-暂不支持
successFunction-接口调用成功,返回视频文件的临时文件路径,详见返回参数说明。
failFunction-接口调用失败的回调函数
completeFunction-接口调用结束的回调函数(调用成功、失败都会执行)

success返回参数说明

参数说明
tempFilePath选定视频的临时文件路径
duration选定视频的时间长度 (单位:s)
size选定视频的数据量大小(单位:B)
height返回选定视频的长
width返回选定视频的宽

说明: 文件的临时路径,在小程序本次启动期间可以正常使用,如需持久保存,需在主动调用 qh.saveFile。

示例

  1. <se-button @click="chooseVideo">点击选择视频</se-button>
  2. <se-video :src="src" controls></se-video>
  1. Page({
  2. data: {
  3. sourceType: ['album', 'camera'],
  4. compressed: false,
  5. maxDuration: 60,
  6. src: ''
  7. },
  8. methods: {
  9. chooseVideo() {
  10. let self = this;
  11. qh.chooseVideo({
  12. success: function (res) {
  13. // 成功返回选定视频的临时文件路径
  14. self.src = res.tempFilePath
  15. },
  16. fail: function (errMsg) {
  17. console.log('错误信息:' + errMsg);
  18. }
  19. });
  20. }
  21. }
  22. });

qh.saveVideoToPhotosAlbum

解释: 保存视频到我的视频。

方法参数:Object object

object参数说明

参数名类型必填默认值说明
filePathString-视频文件路径,可以是临时文件路径也可以是永久文件路径。
successFunction-接口调用成功的回调函数
failFunction-接口调用失败的回调函数
completeFunction-接口调用结束的回调函数(调用成功、失败都会执行)

示例

  1. Page({
  2. saveVideoToPhotosAlbum() {
  3. qh.chooseVideo({
  4. success: function (res) {
  5. qh.saveVideoToPhotosAlbum({
  6. filePath: res.tempFilePath,
  7. success: function (res) {
  8. console.log('保存成功');
  9. },
  10. fail: function (err) {
  11. console.log('保存失败');
  12. }
  13. });
  14. },
  15. fail: function (err) {
  16. console.log(err);
  17. }
  18. });
  19. }
  20. });

qh.createVideoContext(String id,Object this)

创建 video 上下文 VideoContext 对象。

  1. <se-video id="myVideo" :src="https://www.w3cschool.cn/statics/demosource/mov_bbb.mp4" controls></se-video>
const VideoContext = qh.createVideoContext('myVideo', this)

参数值:

属性类型是否必填描述
idStringvideo 组件的 id
thisObject在自定义组件下,当前组件实例的 this,以操作组件内 video 组件

返回值:

Object 类型的对象:

属性类型描述
VideoContextObjectVideoContext 实例对象

VideoContext

解释: qh.createVideoContext 的返回值

方法参数:String id

id参数说明:video 组件的 id。

返回值:VideoContext

示例

  • 在 html 文件中
  <se-video
  id="myVideo"
  ref="myVideo"
  src="https://www.w3cschool.cn/statics/demosource/mov_bbb.mp4"
  poster="https://p3.ssl.qhimg.com/t01202f3bb176275d06.png"
  title="小森林·春秋"
  controls
  show-fullscreen-btn
  show-mute-btn
  muted
></se-video>
<se-button @click="emitPlay">播放</se-button>
<se-button @click="emitPause">暂停</se-button>
<se-button @click="emitStop">停止</se-button>
  • 在 js 文件中
Page({
    data() {
        return {
      VideoContext: null
        }
  },
  mounted() {
    this.VideoContext = qh.createVideoContext('myVideo')
  },
  methods: {
    emitPlay(e) {
      console.log('on play')
      this.VideoContext.play()
    },
    emitPause() {
      console.log('on pause')
      this.VideoContext.pause()
    },
    emitStop() {
      console.log('on end')
      this.VideoContext.stop()
    },
      }
});

VideoContext.play

解释:播放

方法参数:无

VideoContext.pause

解释: 暂停

方法参数:无

VideoContext.stop

解释: 停止视频

方法参数:无

VideoContext.seek

解释:跳转到指定位置(单位:s)

方法参数:Number position

VideoContext.playbackRate(Number rate)

解释:跳转到指定位置(单位:s)

方法参数:Number rate

VideoContext.requestFullScreen

解释:进入全屏

方法参数:无

VideoContext.exitFullScreen

解释:退出全屏

方法参数:无