// 代码简单展示如下
let per = await this.$tool.util.validatePermission();
this.$tool.log.d("权限信息为-per=", per);
let {flag} = per;
if (flag === 'cancel') {
this.$tool.ui.toast('您已拒绝开启相应权限,请打开后再试!');
this.hintMes = "您已拒绝开启相应权限,请打开后再试!";
return;
} else if (flag === 'openSetting') {
// 打开设置-直接重置页面
this.hintMes = "若您已经开启了权限,请点击开始按钮!";
this.isOpenSetting = true;
return;
}
// 正式开始校验
this.isAuthNow = true;
this.beginCount();
if (this.$verify.isEmpty(this.cameraContext)) {
this.cameraContext = uni.createCameraContext();
}
this.cameraContext.startRecord({
fail: error => {
this.showError(error.message || '相机开启失败!');
}
});
beginCount() {
if (this.interval != null) {
return;
}
const vue = this;
this.recordCount = 5;
this.interval = setInterval(() => {
vue.recordCount--;
if (vue.recordCount <= 0) {
this.$tool.ui.loading('视频压缩..');
this.stopVideo();
// this.uploadAuthVideo("xxxx");
this.clearTimer();
}
}, 1000);
},
stopVideo() {
if (this.$verify.isEmpty(this.cameraContext)) {
this.cameraContext = uni.createCameraContext();
}
this.cameraContext.stopRecord({
compressed: true,
success: res => {
this.$tool.log.d("stopVideo-success-res", res);
this.cameraVisible = false;
this.uploadAuthVideo(res.tempVideoPath);
},
fail: res => {
this.$tool.log.d("stopVideo-fail-res", res);
this.showError(res.message || '相机关闭失败');
}
});
},
测试反馈,在结束录制的过程中会有闪退的情况,具体机型参数如下:
华为手机p30 pro 微信版本v8.0.21 概率1天2次左右
你好,麻烦提供出现问题的具体机型、微信版本号、系统版本号,以及能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html),并详细描述下复现的流程。
麻烦在手机微信那里上传下日志: 我->设置->帮助与反馈右上角有个上报日志的入口,麻烦提供一下微信号,时间点(具体到分钟)。