小程序----video视频播放

作者: honey缘木鱼 | 来源:发表于2018-06-11 22:35 被阅读75次

    Video小程序播放视频的组件。

    Video组件

    wx.createVideoContext(videoId, this)创建并返回 video 上下文 videoContext 对象。在自定义组件下,第二个参数传入组件实例this,以操作组件内 <video/> 组件

    API

    注:

    1. video 组件是由客户端创建的原生组件,它的层级是最高的,不能通过 z-index 控制层级。
      2.不能scroll-view、swiper、picker-view、movable-view 中使用 video 组件。
      3.css 动画对 video 组件无效。

    .wxml

    <view class="section tc">
      <video src="{{src}}"   controls ></video>
      <view class="btn-area">
        <button bindtap="bindButtonTap">获取视频</button>
      </view>
    </view>
    <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 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);
        }
    })
    

    结果为:


    效果图

    以上如有问题,请指出!谢谢!

    相关文章

      网友评论

        本文标题:小程序----video视频播放

        本文链接:https://www.haomeiwen.com/subject/endkeftx.html