diff --git a/docs/api/media/camera-context.md b/docs/api/media/camera-context.md index 5a9b5ec80ae97ec35c38df384bc035c6816a2bdf..62e5fd23bbc80ad84ffd1aa5f63304fe14f55051 100644 --- a/docs/api/media/camera-context.md +++ b/docs/api/media/camera-context.md @@ -1,67 +1,71 @@ -### uni.createCameraContext() -创建并返回 camera 组件的上下文 cameraContext 对象。 - -**平台差异说明** - -|App|H5|微信小程序|支付宝小程序|百度小程序|字节跳动小程序|飞书小程序|QQ小程序|快手小程序|京东小程序| -|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:| -|x|x|√|√|√|√|x|√|√|√| - -本API为 camera 组件配套的js API,与 camera 组件的平台兼容性相同,可实现非全屏摄像头。App端可通过[plus.camera](https://www.html5plus.org/doc/zh_cn/camera.html)实现全屏摄像头。 - -**cameraContext 对象的方法列表** - -|方法|参数|说明|平台差异说明| -|:-|:-|:-|:-| -|takePhoto|Object|拍照,可指定质量,成功则返回图片路径。|| -|setZoom|Object|设置缩放级别 **微信小程序 2.10.0+ 支持**|京东小程序不支持| -|startRecord|Object|开始录像|京东小程序不支持| -|stopRecord|Object|结束录像,成功则返回封面与视频。|京东小程序不支持| -|onCameraFrame|Function|获取 Camera 实时帧数据。|仅`微信小程序平台`支持,[规范详情](https://developers.weixin.qq.com/miniprogram/dev/api/CameraContext.onCameraFrame.html)| - -### cameraContext.takePhoto -**takePhoto 的 Object 参数列表:** - -|参数|类型|必填|说明| -|:-|:-|:-|:-| -|quality|String|否|成像质量,值为high(高质量)、normal(普通质量)、low(低质量),默认normal| -|success|Function|否|接口调用成功的回调函数 ,返回照片文件的临时路径,res = { tempImagePath }| -|fail|Function|否|接口调用失败的回调函数| -|complete|Function|否|接口调用结束的回调函数(调用成功、失败都会执行)| - -### cameraContext.setZoom -**setZoom 的 Object 参数列表:** - -|参数|类型|必填|说明| -|:-|:-|:-|:-| -|zoom|String|是|缩放级别,范围[1, maxZoom]。zoom 可取小数,精确到小数后一位。maxZoom 可在 @initdone 返回值中获取。| -|success|Function|否|接口调用成功的回调函数| -|fail|Function|否|接口调用失败的回调函数| -|complete|Function|否|接口调用结束的回调函数(调用成功、失败都会执行)| - -### cameraContext.startRecord -**startRecord 的 Object 参数列表:** - -|参数|类型|必填|说明| -|:-|:-|:-|:-| -|timeoutCallback|Function|否|接超过30s或页面 onHide 时会结束录像| -|success|Function|否|接口调用成功的回调函数| -|fail|Function|否|接口调用失败的回调函数| -|complete|Function|否|接口调用结束的回调函数(调用成功、失败都会执行)| - -### cameraContext.stopRecord -**stopRecord 的 Object 参数列表:** - -|参数|类型|默认值|必填|说明| -|:-|:-|:-|:-|:-| -|compressed|Boolean|false|否|启动视频压缩,压缩效果同 `chooseVideo` ,**微信小程序 2.10.0+ 支持**| -|success|Function||否|接口调用成功的回调函数 ,返回封面与视频的临时路径,res = { tempThumbPath, tempVideoPath }。| -|fail|Function||否|接口调用失败的回调函数| -|complete|Function||否|接口调用结束的回调函数(调用成功、失败都会执行)| - -**注意** - -- App下实现OCR等证件识别等需求,可在插件市场获取原生插件,[https://ext.dcloud.net.cn/plugin?id=135](https://ext.dcloud.net.cn/plugin?id=135) -- 微信小程序下实现OCR等证件识别等需求,插件市场也有封装,搜索 [ocr](https://ext.dcloud.net.cn/search?q=ocr) 可见。 -- 可以通过用户授权API来判断用户是否给应用授予摄像头的访问权限[https://uniapp.dcloud.io/api/other/authorize](https://uniapp.dcloud.io/api/other/authorize) -- 各家小程序平台对API的实现情况可能不一致,比如支付宝小程序调用createCameraContext时需要传参cameraId,使用时请以具体文档为准。 +### uni.createCameraContext() +创建并返回 camera 组件的上下文 cameraContext 对象。 + +**平台差异说明** + +|App|H5|微信小程序|支付宝小程序|百度小程序|字节跳动小程序|飞书小程序|QQ小程序|快手小程序|京东小程序| +|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:| +|x|x|√|√|√|√|x|√|√|√| + +本API为 camera 组件配套的js API,与 camera 组件的平台兼容性相同,可实现非全屏摄像头。App端可通过[plus.camera](https://www.html5plus.org/doc/zh_cn/camera.html)实现全屏摄像头。 + +**cameraContext 对象的方法列表** + +|方法|参数|说明|平台差异说明| +|:-|:-|:-|:-| +|takePhoto|Object|拍照,可指定质量,成功则返回图片路径。|| +|setZoom|Object|设置缩放级别。|百度、QQ、快手、京东小程序不支持| +|startRecord|Object|开始录像|京东小程序不支持| +|stopRecord|Object|结束录像,成功则返回封面与视频。|京东小程序不支持| +|onCameraFrame|Function|获取 Camera 实时帧数据。|微信小程序[详情](https://developers.weixin.qq.com/miniprogram/dev/api/CameraContext.onCameraFrame.html)、支付宝小程序[详情](https://opendocs.alipay.com/mini/03qitt)、字节小程序支持[详情](https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/develop/api/media/camera/camera-context/camera-context-on-camera-frame)| + +### cameraContext.takePhoto +**takePhoto 的 Object 参数列表:** + +|参数|类型|必填|说明| +|:-|:-|:-|:-| +|quality|String|否|成像质量,值为high(高质量)、normal(普通质量)、low(低质量),默认normal| +|selfieMirror|Boolean|否|是否开启镜像,默认true。**仅微信小程序 2.22.0+ 支持**| +|success|Function|否|接口调用成功的回调函数 ,返回照片文件的临时路径,res = { tempImagePath }| +|fail|Function|否|接口调用失败的回调函数| +|complete|Function|否|接口调用结束的回调函数(调用成功、失败都会执行)| + +### cameraContext.setZoom +**setZoom 的 Object 参数列表:** + +|参数|类型|必填|说明| +|:-|:-|:-|:-| +|zoom|String|是|缩放级别,范围[1, maxZoom]。zoom 可取小数,精确到小数后一位。maxZoom 可在 @initdone 返回值中获取。| +|success|Function|否|接口调用成功的回调函数| +|fail|Function|否|接口调用失败的回调函数| +|complete|Function|否|接口调用结束的回调函数(调用成功、失败都会执行)| + +### cameraContext.startRecord +**startRecord 的 Object 参数列表:** + +|参数|类型|必填|说明| +|:-|:-|:-|:-| +|timeoutCallback|Function|否|接超过30s或页面 onHide 时会结束录像| +|timeout|Number|否|录制时长上限,单位为秒,最长不能超过 5 分钟,默认值30。**仅微信小程序 2.22.0+ 支持**| +|selfieMirror|Boolean|否|是否开启镜像,默认true。**仅微信小程序 2.22.0+ 支持**| +|success|Function|否|接口调用成功的回调函数| +|fail|Function|否|接口调用失败的回调函数| +|complete|Function|否|接口调用结束的回调函数(调用成功、失败都会执行)| + +### cameraContext.stopRecord +**stopRecord 的 Object 参数列表:** + +|参数|类型|默认值|必填|说明| +|:-|:-|:-|:-|:-| +|compressed|Boolean|false|否|启动视频压缩,压缩效果同 `chooseVideo` ,**微信小程序 2.10.0+ 支持**| +|success|Function||否|接口调用成功的回调函数 ,返回封面与视频的临时路径,res = { tempThumbPath, tempVideoPath }。| +|fail|Function||否|接口调用失败的回调函数| +|complete|Function||否|接口调用结束的回调函数(调用成功、失败都会执行)| + +**注意** + +- App下实现OCR等证件识别等需求,可在插件市场获取原生插件,[https://ext.dcloud.net.cn/plugin?id=135](https://ext.dcloud.net.cn/plugin?id=135) +- 微信小程序下实现OCR等证件识别等需求,插件市场也有封装,搜索 [ocr](https://ext.dcloud.net.cn/search?q=ocr) 可见。 +- 可以通过用户授权API来判断用户是否给应用授予摄像头的访问权限[https://uniapp.dcloud.io/api/other/authorize](https://uniapp.dcloud.io/api/other/authorize) +- 各家小程序平台对API的实现情况可能不一致,比如支付宝小程序调用createCameraContext时需要传参cameraId,使用时请以具体文档为准。 +- 支付宝小程序开发者工具(IDE)暂不支持调试此 API,请使用真机调试功能在真机进行调试。