收藏
回答

video组件 调用play() 有时报错 不能播放?

我先去设置了video的src 再去执行play() 进入页面的时候,有时会报错,无法播放视频 ,视频格式是mp4的

报错信息:[渲染层错误] Uncaught (in promise) [object DOMException]


回答关注问题邀请回答
收藏

3 个回答

  • 微盟
    微盟
    02-23

    需要等待dom渲染完成, 至少是attached生命周期之后调用。

    理解一下原生小程序的代码,更新数据之后要等待dom渲染完成再获取上下文。

      lifetimes: {
        attached() {
          this.setData({ videoUrl: '......' }, () => {
            wx.createVideoContext("id")
          });
        },
      },
    
    02-23
    有用
    回复 1
    • Van
      Van
      02-23
      可是我在play之前已经获取到video对象了呀
      02-23
      回复
  • 0
    0
    02-23

    可以打印一下看看,在play的时候,有没有拿到videoUrl

    02-23
    有用
    回复 1
    • Van
      Van
      02-23
      拿到了的 两个接口顺序执行的
      02-23
      回复
  • 大山
    大山
    02-23

    对比测试一下手动播放正不正常,还是说有渲染时间差的问题导致。

    02-23
    有用
    回复 3
    • Van
      Van
      02-23
      进入页面不播放 点击按钮手动播放是可以的
      另外如果手动播放,我延迟了2s执行play也是可以的,这个是什么原因呢
      02-23
      回复
    • 0
      0
      02-23回复Van
      wx.nextTick(() => {


          })
      试试
      02-23
      回复
    • Van
      Van
      02-23回复0
      还是不行唉
      02-23
      回复
登录 后发表内容