收藏
回答

wx.compressVideo 不稳定?有时候几分钟过去了,没有任何回调。

const compressVideo = (path: string, id, questionNumber, trys?:any) => {
    // @ts-ignore
    Taro.compressVideo({
      src: path,
      bitrate: 400,     // 码率(单位 kbps)
      fps: 24,          // 帧率
      resolution: 0.5,  // 分辨率比例
      success: (YRes) => {
        console.log(`${id}-${questionNumber}-->视频压缩成功`, YRes)
        onVideoAnsSubmit(YRes.tempFilePath)
        if(trys){
          clearTimeout(trys)
        }
      },
      fail: (YErr) => {
        console.log(`${id}-${questionNumber}-->视频压缩失败`, YErr)
        onVideoAnsSubmit(path)
        if(trys){
          clearTimeout(trys)
        }
      }
    })
  }


  const onAnsEndHandle = () => {
    if (isRecording.current) {
      timeout(()=>{
        isRecording.current = false
      }, 1000)
      cameraCtx.current.stopRecord({
        success: (res) => {
          console.log(`${id}-${questionNumber}-->停止录制视频成功`)
          const trys = setTimeout(() => {
            console.log('进入重试')
            compressVideo(res.tempVideoPath, id, questionNumber, trys)
          }, 10000)
          compressVideo(res.tempVideoPath, id, questionNumber, trys)
        },
        fail: (err) => {
          console.log(`${id}-${questionNumber}-->停止录制视频失败`, err)
          if(err.errMsg!='operateCamera:fail:is stopping'){
            console.error(`${id}-${questionNumber}-->停止录像失败`, err)
            isRecording.current = false
            backFunc()
          }
        }
      })
    }
  }
回答关注问题邀请回答
收藏
登录 后发表内容