收藏
回答

camera组件不执行timeoutCallback?

camera组件中设置了timeout为300,timeoutCallback到300秒之后不执行?设置成150也不执行。貌似只有数值很小的情况下才会执行timeoutcallback。需求是录制5分钟视频。

代码如下。不会打印'timeoutCallback' 设置倒计时自动执行的话也只会打印 stopRecoring。不会执行ctx.stopRecord()

  onShow(){
    const ctx = wx.createCameraContext()
    this.setData({
      ctx
    })
  },
//开始录制
  startRecord() {
    let that = this
    let intervalId;
    let totalTime = 0;
    that.data.ctx.startRecord({
      timeout: 300,
      timeoutCallback: (res) => {
        console.log('timeoutCallback')
      },
      success: (res) => {
        console.log(res)
        that.setData({
          startTime: that.getTime(),
          isRecording: true
        })
      },
      fail:(err)=>{
        console.log(err)
      }
    })
    intervalId = setInterval(function () {
        totalTime++;
        console.log('=============>totalTime:' + totalTime)
        if(totalTime >= 500 ){
          clearInterval(intervalId)
          that.stopRecord()
        }
    }, 1000);

  },
  //结束录制
  stopRecord() {
    let that = this
    clearTimeout(startCountFunc)
    //stopRecord方法不可连续调用,否则无法停止录制
    console.log('stopRecord')
    that.data.ctx.stopRecord({
      compressed: true,  //是否压缩录完的视频
      success: (res) => {
        console.log(res)
        // that.uploadVedio()
      },
      fail(err){
        console.log(err)
        wx.hideLoading()
      }
    })
  },


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

1 个回答

  • Demons
    Demons
    2023-07-07

    请具体描述问题出现的流程,并提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。

    2023-07-07
    有用
    回复 1
登录 后发表内容