EffectCameraStream.request
收藏
我的收藏

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

语法​

EffectCameraStream.request(options)

参数说明​

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

返回值​

无​

代码示例​

<button type="primary" bindtap="requestEffectCamera">打开特效相机</button>
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 调用成功后将占用相机资源,释放前无法再次调用。​