CameraContext
方法
startRecord
开始录像
(option: StartRecordOption) => void
| 参数 | 类型 |
|---|---|
| option | StartRecordOption |
API 支持度
| API | 微信小程序 | H5 | React Native |
|---|---|---|---|
| CameraContext.startRecord | ✔️ |
stopRecord
结束录像
(option?: StopRecordOption) => void
| 参数 | 类型 |
|---|---|
| option | StopRecordOption |
API 支持度
| API | 微信小程序 | H5 | React Native |
|---|---|---|---|
| CameraContext.stopRecord | ✔️ |
takePhoto
拍摄照片
(option: TakePhotoOption) => void
| 参数 | 类型 |
|---|---|
| option | TakePhotoOption |
API 支持度
| API | 微信小程序 | H5 | React Native |
|---|---|---|---|
| CameraContext.takePhoto | ✔️ |
onCameraFrame
获取 Camera 实时帧数据
注: 使用该接口需同时在 camera 组件属性中指定 frame-size。
(callback: OnCameraFrameCallback) => CameraFrameListener
| 参数 | 类型 | 说明 |
|---|---|---|
| callback | OnCameraFrameCallback | 回调函数 |
示例代码
const context = wx.createCameraContext()
const listener = context.onCameraFrame((frame) => {
console.log(frame.data instanceof ArrayBuffer, frame.width, frame.height)
})
listener.start()
API 支持度
| API | 微信小程序 | H5 | React Native |
|---|---|---|---|
| CameraContext.onCameraFrame | ✔️ |
参数
StartRecordOption
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| complete | (res: CallbackResult) => void | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
| fail | (res: CallbackResult) => void | 否 | 接口调用失败的回调函数 |
| success | (res: CallbackResult) => void | 否 | 接口调用成功的回调函数 |
| timeoutCallback | StartRecordTimeoutCallback | 否 | 超过30s或页面 onHide 时会结束录像 |
StartRecordTimeoutCallback
超过30s或页面 onHide 时会结束录像
(result: StartRecordTimeoutCallbackResult) => void
| 参数 | 类型 |
|---|---|
| result | StartRecordTimeoutCallbackResult |
StartRecordTimeoutCallbackResult
| 参数 | 类型 | 说明 |
|---|---|---|
| tempThumbPath | string | 封面图片文件的临时路径 |
| tempVideoPath | string | 视频的文件的临时路径 |
StopRecordOption
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| complete | (res: CallbackResult) => void | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
| fail | (res: CallbackResult) => void | 否 | 接口调用失败的回调函数 |
| success | (result: StopRecordSuccessCallbackResult) => void | 否 | 接口调用成功的回调函数 |
StopRecordSuccessCallbackResult
| 参数 | 类型 | 说明 |
|---|---|---|
| tempThumbPath | string | 封面图片文件的临时路径 |
| tempVideoPath | string | 视频的文件的临时路径 |
| errMsg | string | 调用结果 |
TakePhotoOption
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| complete | (res: CallbackResult) => void | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
| fail | (res: CallbackResult) => void | 否 | 接口调用失败的回调函数 |
| quality | "high" | "normal" | "low" | 否 | 成像质量 |
| success | (result: TakePhotoSuccessCallbackResult) => void | 否 | 接口调用成功的回调函数 |
TakePhotoSuccessCallbackResult
| 参数 | 类型 | 说明 |
|---|---|---|
| tempImagePath | string | 照片文件的临时路径,安卓是jpg图片格式,ios是png |
| errMsg | string | 调用结果 |
OnCameraFrameCallback
回调函数
(result: OnCameraFrameCallbackResult) => void
| 参数 | 类型 |
|---|---|
| result | OnCameraFrameCallbackResult |
OnCameraFrameCallbackResult
| 参数 | 类型 | 说明 |
|---|---|---|
| data | ArrayBuffer | 图像像素点数据,一维数组,每四项表示一个像素点的 rgba |
| height | number | 图像数据矩形的高度 |
| width | number | 图像数据矩形的宽度 |
quality
| 参数 | 说明 |
|---|---|
| high | 高质量 |
| normal | 普通质量 |
| low | 低质量 |
API 支持度
| API | 微信小程序 | H5 | React Native |
|---|---|---|---|
| CameraContext.startRecord | ✔️ | ||
| CameraContext.stopRecord | ✔️ | ||
| CameraContext.takePhoto | ✔️ | ||
| CameraContext.onCameraFrame | ✔️ |