CameraContext.takePhoto
收藏
我的收藏基础库 2.41.0 开始支持本方法,低版本需做兼容处理,这是一个异步方法。
拍摄照片。
前提条件 | 无 |
业务背景 | 无 |
使用限制 | 无 |
注意事项 | Tip:开发者工具暂不支持此能力,请用真机扫码调试。 |
支持沙盒 | 否 |
相关教程 | 无 |
语法
CameraContext.takePhoto(options)
参数说明
options 为 object 类型,属性如下:
属性名 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
---|---|---|---|---|---|
quality | enum | normal | 是 | 成像质量 | 2.41.0 |
success | function | 否 | 接口调用成功的回调函数 | 2.41.0 | |
fail | function | 否 | 接口调用失败的回调函数 | 2.41.0 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) | 2.41.0 |
quality 的合法值
值 | 说明 | 最低支持版本 |
---|---|---|
high | 高质量 | 2.41.0 |
normal | 中质量 | 2.41.0 |
low | 低质量 | 2.41.0 |
回调成功
object 类型,属性如下:
属性名 | 类型 | 说明 | 最低支持版本 |
---|---|---|---|
errMsg | string | "CameraContext.takePhoto:ok" | 2.41.0 |
size | number | 本地文件大小(单位:B) | 2.41.0 |
width | string | 图片宽度(单位:px) | 2.41.0 |
height | string | 图片高度(单位:px) | 2.41.0 |
tempImagePath | string | 照片文件的临时路径 (本地路径),Android 是 jpg 图片格式,iOS 是 png | 2.41.0 |
回调失败
object 类型,属性如下:
属性名 | 类型 | 说明 | 最低支持版本 |
---|---|---|---|
errMsg | string | "CameraContext.takePhoto:fail" + 详细错误信息 | 2.41.0 |
errMsg 参数说明
错误码 | 错误信息 | 错误描述 |
10402 | null throwable native exception ${throwable} stack:${stack} | 客户端异常 |
21102 | acquire image fail | 获取图片失败 |
21103 | save temp file fail | 图片保存失败 |
21104 | operation is in progress, please do not call again | 连续拍照 |
21105 | not allow to invoke at 'scanCode' mode | 扫码模式下不能调用 |
扫码体验
请使用字节宿主APP扫码
代码示例
<!-- index.ttml --> <camera flash="off" style="width: 100%; height: 500rpx;"></camera> <button type="primary" bindtap="takePhoto">拍照</button> <image class="img" mode="widthFix" src="{{src}}"></image>
// index.js Page({ data: { src: "", }, takePhoto() { const ctx = tt.createCameraContext(); ctx.takePhoto({ quality: "high", success: (res) => { this.setData({ src: res.tempImagePath, }); }, }); }, });
点击纠错