录制视频过程中调用takephoto,stopRecord就不会触发,是什么原因呢?
微信版本:8.0.13 IOS 在视频录制过程中,使用takephoto每8秒截取一帧,保存到本地, 开始录制,截屏都正常,但是点击结束录制后,没有触发stopRecord,把stopRecord里边的setData放在stopRecord外边,又可以执行,但是拿不到文件路径,无法保存到本地 [图片] [图片] [图片] console.log("开始录视频");
this.setData({
startRecord: true
});
// 倒计时
let timeLoop = setInterval(() => {
let t1 = this.data.time - 1;
this.setData({
time: t1,
})
// 最长录制
if (t1 == 0) {
clearInterval(timeLoop);
this.stopRecord();
}
}, 1000);
this.setData({
timeLoop
})
// 开始录制
ctx.startRecord({
success: (res) => {
console.log(res);
//截屏
let tick = () => {
let ctx = wx.createCameraContext();
ctx.takePhoto({
success: (res) => {
console.log("截屏", res)
const savedFilePath = res.tempImagePath
// 保存到本地相册
wx.saveImageToPhotosAlbum({
filePath: savedFilePath,
})
wx.showToast({
icon: 'success',
title: '截屏保存成功',
duration: 1000
})
},
fail(err){
console.log("截屏错误",err);
}
})
};
if (this.data.catchImageLoop) {
clearInterval(this.data.catchImageLoop);
this.setData({
catchImageLoop: null
});
}
let catchImageLoop = setInterval(tick, 8000);
this.setData({
catchImageLoop
});
},
fail: (e) => {
console.log(e);
}
})
} else {
this.stopRecord();
}
[图片]