const compressVideo = (path: string, id, questionNumber, trys?:any) => {
Taro.compressVideo({
src: path,
bitrate: 400,
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()
}
}
})
}
}