收藏
回答

自定义组件中使用视频组件控制createVideoContext无效

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug createVideoContext 工具 6.6.7 1.02.1805150





page页面 wxml:


<view class='container'>

   <xdvideo></xdvideo>

</view>

<video id='v' bindtap='pauses' src="https://ypktmbzh.droibaascdn.com/droi/ypktmbzhiZH_jzNsRNkLHqjZCMNYRI4dlQAcl7EC/999224954912247808/1f5e666d79deb1dfa16eb8a18b81.mp4" controls="{{false}}"></video>

<button bindtap='play'>播放</button >


js:

play() {  var videoContext = wx.createVideoContext('v')  videoContext.play() }, pauses(e) {  var videoContext = wx.createVideoContext(e.target.id)  videoContext.pause() }


page页视频可正常播放暂停



xdvideo组件 wxml:


<view class="xdvideo" >

   <video id="vvv" bindtap='pause' class="video" src='{{src}}' controls="{{false}}" objectFit="fill"></video>

</view>

<button bindtap='play'>play</button>


js:

Component({  properties: {    src: {      type: String,      value: 'https://ypktmbzh.droibaascdn.com/droi/ypktmbzhiZH_jzNsRNkLHqjZCMNYRI4dlQAcl7EC/999224954912247808/1f5e666d79deb1dfa16eb8a18b81.mp4'    },    thumbUrl: {      type: String,      value: 'https://ypktmbzh.droibaascdn.com/droi/ypktmbzhiZH_jzNsRNkLHqjZCMNYRI4dlQAcl7EC/998528282842386432/d1105c59996258cfd5d59784afda.png'    }  },  data: {    played: false  },  methods: {    play(e) {      this.setData({        played: true      });      var videoContext = wx.createVideoContext('vvv');      videoContext.play();    },    pause(e) {      var videoContext = wx.createVideoContext(e.target.id);      videoContext.pause();    }  } })


xdvideo组件页无法控制播放暂停,有人说是因为组件中不能使用id,想确认下原因,现在需求必须在组件中使用createVideoContext,而该控件只能绑定id

最后一次编辑于  2018-06-07
回答关注问题邀请回答
收藏

7 个回答

  • 黄思程
    黄思程
    2018-06-08

    createVideoContext第二个参数传入this,把组件实例传进去

    2018-06-08
    有用 1
    回复 3
    • .
      .
      2018-06-08

      createVideoContext这个可以传参数this,那这些方法怎么办我看了一下在conpoent组件里面是没有执行的

      2018-06-08
      1
      回复
    • KevinRuan
      KevinRuan
      2018-06-08

      传了this也没执行,你可以试试我回复1楼的片段代码

      2018-06-08
      回复
    • wang90
      wang90
      2019-11-20回复KevinRuan
      我传了,可以用了
      2019-11-20
      回复
  • 小艾
    小艾
    2020-06-16

    我用的是taro 传了this也没用呀



    2020-06-16
    有用 1
    回复 5
    • 小艾
      小艾
      2020-06-18
      解决了 要先报错this 然后再传进去
      2020-06-18
      回复
    • 小艾
      小艾
      2020-06-18
      报错 改为保存
      2020-06-18
      回复
    • 叫啥好呢
      叫啥好呢
      2020-09-05
      这里的保存 是怎么保存呢
      2020-09-05
      回复
    • Ada.
      Ada.
      2021-01-21
      taro 如何保存this的,大佬, 说一哈
      2021-01-21
      1
      回复
    • 蜗牛
      蜗牛
      2021-06-30
      你好,请问您是怎么保存this的
      2021-06-30
      回复
  • greedying
    greedying
    2020-01-29

    this!!!! 文档里没说吧!玩死了

    2020-01-29
    有用 1
    回复
  • Teo
    Teo
    2018-08-17

    遇到同样的问题,真机可以播放,开发者工具还是不行

    2018-08-17
    有用
    回复
  • TDZ
    TDZ
    2018-06-28

    谢谢大佬

    2018-06-28
    有用
    回复
  • .
    .
    2018-06-08

    在自定义组件里面点击视频播放bindplay()也不执行

    2018-06-08
    有用
    回复
  • 疯狂的小辣椒
    疯狂的小辣椒
    2018-06-07

    你好,video组件没有限制说不能够使用id,建议提供能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

    2018-06-07
    有用
    回复 8
    • KevinRuan
      KevinRuan
      2018-06-08

      这是我的代码片段     wechatide://minicode/uoLmqomO7VoS

      2018-06-08
      回复
    • 黄思程
      黄思程
      2018-06-11

      你好,传了this后,在真机上预览是否可行

      2018-06-11
      回复
    • KevinRuan
      KevinRuan
      2018-06-11回复黄思程

      好的,在真机上可以的,模拟上不行

      2018-06-11
      回复
    • 黄思程
      黄思程
      2018-06-11

      你好,问题已确认,我们近期就会修复

      2018-06-11
      1
      回复
    • TDZ
      TDZ
      2018-06-28

      我也碰到了这个问题,传第二个参数把this,传进去就好了

      2018-06-28
      1
      回复
    查看更多(3)
登录 后发表内容