收藏
回答

短视频播放器小程序插件(云点播)调用playbackRate设置倍数播放无效?

问题说明:

云点播短视频播放器插件利用API VideoContext.playbackRate(number rate)设置倍数播放无效。

相同处理逻辑,小程序组件<video />没有该问题。

插件版本:

"plugins": {
    "myPlugin": {
       "version""0.1.2",
       "provider""wx116d0dd5e6a39ac7"
     }
}


代码逻辑如下:

在onReady里创建 video 上下文

onReady() {
    // 创建 video 上下文 VideoContext 对象。
    // video组件id 为 video
  this.videoContext = wx.createVideoContext('video')
    // 设置倍数
   this.changeRate()
},

// 切换视频播放倍数
changeRate(e) {
  const rates = this.data.rates
  const index = e ? parseInt(e.currentTarget.id) : this.data.currentRate
  this.setData({
    currentRate: index,
    showRates: false
  }, () => {
    const rate = rates[index]
    this.videoContext.playbackRate(rate)
  })
}


WXML调用,my-player为引入云点播短视频播放器插件的组件名。


微信开发者工具里渲染的dom结构


解决方法:

云点播短视频播放器插件创建video上下文VideoContext对象与内置<video />标签不一样。



内置<video />标签:

const ctx = wx.createVideoContext(string id, Object this),建议使用wx.createSelectorQuery获取 context 对象。


插件:

// 引入云点播短视频播放器插件
const plugin = requirePlugin('app.json中引入的插件自定义的名字')
// 创建videoContext对象
const ctx = plugin.getContext('palyerid')
// 设置倍数
ctx.playBackRate(rate)


最后一次编辑于  2021-12-08
回答关注问题邀请回答
收藏

4 个回答

  • Serene
    Serene
    2021-12-08

    云点播短视频播放器插件创建video上下文VideoContext对象与内置<video />标签不一样。

    

    内置<video />标签:

    const ctx = wx.createVideoContext(string id, Object this),建议使用wx.createSelectorQuery获取 context 对象。
    


    插件:

    // 引入云点播短视频播放器插件
    const plugin = requirePlugin('app.json中引入的插件自定义的名字')
    // 创建videoContext对象
    const ctx = plugin.getContext('palyerid')
    // 设置倍数
    ctx.playBackRate(rate)
    
    2021-12-08
    有用 2
    回复
  • 神经蛙
    神经蛙
    2021-12-02

    我也遇到同样的问题,麻烦官方尽快看看插件是什么问题~!

    2021-12-02
    有用 2
    回复
  • 竹子南
    竹子南
    2021-12-02

    +1

    2021-12-02
    有用 1
    回复
  • Riven.
    Riven.
    2021-12-03

    云点播的问题可到云+社区提问

    https://cloud.tencent.com/developer/ask


    2021-12-03
    有用
    回复 1
登录 后发表内容