1.用到的组件和api
1)cream组件
camera 组件是由客户端创建的原生组件,它的层级是最高的,不能通过 z-index 控制层级。只能使用 cover-view cover-image 覆盖在上面。并且同一页面只能插入一个 camera 组件。
2)API:createCameraContext
2.使用
1.首先调用api
const ctx = uni.createCameraContext();
2.拍照
ctx.takePhoto({
quality: "high",
success: (res) => {
this.creamSrc = this.creamSrc.concat(res.tempImagePath);
},
});
3.录视频(这里包含了开始录制和结束录制)
ctx.startRecord({
success: (res) => {
console.log(res);
},
});
开始录视频,为了让录视频更加真实加入了时间,并限制了时间长度
this.timer = setInterval(() => { //计时器
this.second++;
if (this.second < 10) {
// 少于10补零
this.second = "0" + this.second;
} else {
this.second = this.second;
}
if (this.second == 6) {
clearInterval(this.timer);
}
}, 1000);
停止录制
if (this.second < 6) {
clearInterval(this.timer);
}
// 结束
ctx.stopRecord({
success: (res) => {
console.log("?????");
var a = res.tempThumbPath;
this.videoSrc = this.videoSrc.concat(res.tempVideoPath);
console.log("录视频长度" + this.videoSrc);
this.second = "0" + 0;
this.showTip = false;
},
});