AR 相机组件控制

createARCameraContext

基础库 3.15.104 开始支持,低版本需做兼容处理。

解释:创建并返回 ar-camera 上下文 ARCameraContext对象,ARCameraContext 与页面的 ar-camera 组件绑定,一个页面只能有一个 ar-camera,通过它可以操作对应的组件。

参数:

ARCameraContext 对象的方法列表:

方法参数说明
takePhotoObject拍照,成功则返回图片。
resetObject重置相机
startRecordObject开始录像
stopRecordObject结束录像,成功则返回视频。

takePhoto 的 Object 参数列表:

参数类型必填说明
successFunction接口调用成功的回调函数,res = { tempImagePath }
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)

reset 的 Object 参数列表:

参数类型必填说明
successFunction接口调用成功的回调函数
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)

startRecord 的 Object 参数列表:

参数类型必填说明
progressFunction录制进度更新的回调函数,res = { progress }
timeoutFunction超过 10s 或页面 onHide 时会结束录像,res = { tempVideoPath }
successFunction接口调用成功的回调函数
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)

stopRecord 的 Object 参数列表:

参数类型必填说明
successFunction接口调用成功的回调函数 ,res = { tempVideoPath }。
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)

示例代码:

  1. const ctx = swan.createARCameraContext();

    ctx.takePhoto();

    ctx.startRecord({
    progress(res) {
    console.log('进度更新了', res.progress);
    },
    timeout(res) {
    console.log('超时/onHide', res.tempVideoPath);
    }
    });

相机组件控制保存、获取文件