跳到主要内容
版本:4.x

CameraContext

参考文档

方法

onCameraFrame

获取 Camera 实时帧数据


注: 使用该接口需同时在 camera 组件属性中指定 frame-size。

支持情况:

参考文档

(callback: OnCameraFrameCallback) => CameraFrameListener
参数类型说明
callbackOnCameraFrameCallback回调函数

示例代码

const context = wx.createCameraContext()
const listener = context.onCameraFrame((frame) => {
console.log(frame.data instanceof ArrayBuffer, frame.width, frame.height)
})
listener.start()

setZoom

设置缩放级别

支持情况:

参考文档

(option: SetZoomOption) => void
参数类型
optionSetZoomOption

startRecord

开始录像

支持情况:

参考文档

(option: StartRecordOption) => void
参数类型
optionStartRecordOption

stopRecord

结束录像

支持情况:

参考文档

(option?: StopRecordOption) => void
参数类型
optionStopRecordOption

takePhoto

拍摄照片

支持情况:

参考文档

(option: TakePhotoOption) => void
参数类型
optionTakePhotoOption

参数

SetZoomOption

参数类型必填说明
complete(res: TaroGeneral.CallbackResult) => void接口调用结束的回调函数(调用成功、失败都会执行)
fail(res: TaroGeneral.CallbackResult) => void接口调用失败的回调函数
success(res: StartRecordSuccessCallbackResult) => void接口调用成功的回调函数
zoomnumber缩放级别,范围[1, maxZoom]。zoom 可取小数,精确到小数后一位。maxZoom 可在 bindinitdone 返回值中获取。

StartRecordSuccessCallbackResult

参数类型说明
zoomnumber实际设置的缩放级别。由于系统限制,某些机型可能无法设置成指定值,会改用最接近的可设值。
setZoomnumber
API 支持度: alipay
alipay: on android

StartRecordOption

参数类型必填说明
complete(res: TaroGeneral.CallbackResult) => void接口调用结束的回调函数(调用成功、失败都会执行)
fail(res: TaroGeneral.CallbackResult) => void接口调用失败的回调函数
success(res: TaroGeneral.CallbackResult) => void接口调用成功的回调函数
timeoutCallbackStartRecordTimeoutCallback超过30s或页面 onHide 时会结束录像

StartRecordTimeoutCallback

超过30s或页面 onHide 时会结束录像

(result: StartRecordTimeoutCallbackResult) => void
参数类型
resultStartRecordTimeoutCallbackResult

StartRecordTimeoutCallbackResult

参数类型说明
tempThumbPathstring封面图片文件的临时路径
tempVideoPathstring视频的文件的临时路径
heightstring视频文件的高度。
API 支持度: alipay
widthstring视频文件的宽度。
API 支持度: alipay
sizestring视频文件的尺寸。
API 支持度: alipay
durationstring录制的持续时间。
API 支持度: alipay

StopRecordOption

参数类型必填说明
complete(res: TaroGeneral.CallbackResult) => void接口调用结束的回调函数(调用成功、失败都会执行)
fail(res: TaroGeneral.CallbackResult) => void接口调用失败的回调函数
success(result: StopRecordSuccessCallbackResult) => void接口调用成功的回调函数

StopRecordSuccessCallbackResult

参数类型说明
tempThumbPathstring封面图片文件的临时路径
tempVideoPathstring视频的文件的临时路径
errMsgstring调用结果

TakePhotoOption

参数类型必填说明
complete(res: TaroGeneral.CallbackResult) => void接口调用结束的回调函数(调用成功、失败都会执行)
fail(res: TaroGeneral.CallbackResult) => void接口调用失败的回调函数
qualitykeyof Quality成像质量
success(result: TakePhotoSuccessCallbackResult) => void接口调用成功的回调函数

TakePhotoSuccessCallbackResult

参数类型说明
tempImagePathstring照片文件的临时路径,安卓是jpg图片格式,ios是png
errMsgstring调用结果

OnCameraFrameCallback

回调函数

(result: OnCameraFrameCallbackResult) => void
参数类型
resultOnCameraFrameCallbackResult

OnCameraFrameCallbackResult

参数类型说明
dataArrayBuffer图像像素点数据,一维数组,每四项表示一个像素点的 rgba
heightnumber图像数据矩形的高度
widthnumber图像数据矩形的宽度

Quality

参数说明
high高质量
normal普通质量
low低质量
original原图

API 支持度

API微信小程序支付宝小程序抖音小程序H5React NativeHarmony
CameraContext.onCameraFrame✔️✔️✔️
CameraContext.setZoom✔️✔️✔️
CameraContext.startRecord✔️✔️✔️✔️
CameraContext.stopRecord✔️✔️✔️✔️
CameraContext.takePhoto✔️✔️✔️✔️