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