- JS API 列表
- 基础
- 网络
- 媒体
- 地图
- 文件
- 开放接口
- 数据缓存
- 地理位置
- 设备
- 画布
- 界面
- 页面导航
- 侧边栏能力
- 行业开放
- AI/AR能力
- 第三方平台
- TTML
- 转发和挂载
- 其它
- 直播能力
CameraContext.takePhoto
更新时间 2024-07-26 09:47:51
收藏
我的收藏基础库 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,
});
},
});
},
});
该文档是否有帮助?
点击纠错