EffectCameraStream.request
收藏
我的收藏

基础库 2.19.0 开始支持本方法。​
该 API 调用时会弹出相机授权弹窗,需要用户授权方可调用。​
设置数据源(相机)参数,并请求相机资源,用户授权后将占用相机资源。通过 EffectCameraStream.onRequest 可监听该请求成功事件。通过 EffectCameraStream.onError 可监听请求失败事件。​
因该 API 将占用相机资源,如需再次开启相机或插入 camera 组件,请调用 EffectCameraStream.dispose 释放相机资源后再执行此操作。​

语法​

Plain Text
复制
EffectCameraStream.request(options)

参数说明​

options为 object 类型,属性如下:​
属性名
类型
默认值
必填
说明
最低支持版本
orientation
string
'back'
摄像头朝向,有效值 'back' 或 'front'
2.19.0

返回值​

无​

代码示例​

html
复制
<button type="primary" bindtap="requestEffectCamera">打开特效相机</button>
js
复制
Page({
onShow: function (options) {
this.effectCameraStream = tt.createEffectCameraStream(this);
this.effectCameraStream.onError(this.onError);
this.effectCameraStream.onRequest(this.onRequest);
this.effectCameraStream.onPlay(this.onPlay);
},
requestEffectCamera() {
this.effectCameraStream.request({
orientation: "front",
});
},
onError(error) {
console.log("onError", error);
const { type, errMsg } = error;
tt.showModal({
title: `onError ${type}`,
content: errMsg,
});
},
onRequest() {
console.log("相机资源申请成功");
this.effectCameraStream.play();
},
onPlay(cameraVideo) {
tt.showToast({
title: "相机打开", // 内容
});
console.log("相机数据对象", cameraVideo);
},
});

Bug & Tip​

    Tip:暂不支持指定相机配置参数,默认分辨率为 720P。​
    Tip:该 API 调用成功后将占用相机资源,释放前无法再次调用。​