提交 72bec1a7 编写于 作者: Anne_LXM's avatar Anne_LXM

更新uni.createCameraContext平台差异

上级 4ad13f72
### 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,请使用真机调试功能在真机进行调试。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册