• JS API 列表
  • 基础
  • TTML
  • 网络
  • 媒体
  • 图片
  • 录音
  • 音频
  • 视频
  • 相机
  • tt.createCameraContext
  • CameraContext
  • CameraContext
  • CameraContext.onCameraFrame
  • CameraContext.setZoom
  • CameraContext.takePhoto
  • CameraContext.startRecord
  • CameraContext.stopRecord
  • CameraFrameListener
  • 特效相机
  • Canvas 录制
  • rtc-room 实时通信
  • 地图
  • 文件
  • 数据缓存
  • 地理位置
  • 设备
  • 画布
  • 界面
  • 页面导航
  • 开放接口
  • 行业开放
  • 第三方平台
  • 其它
  • CameraContext.takePhoto

    收藏
    我的收藏

    基础库 2.41.0 开始支持本方法,低版本需做兼容处理,这是一个异步方法。

    拍摄照片。

    前提条件
    业务背景
    使用限制
    注意事项
    Tip:开发者工具暂不支持此能力,请用真机扫码调试。
    支持沙盒
    相关教程

    语法

    CameraContext.takePhoto(options)

    参数说明

    options 为 object 类型,属性如下:

    属性名类型默认值必填说明最低支持版本
    qualityenumnormal
    成像质量
    2.41.0
    successfunction
    接口调用成功的回调函数
    2.41.0
    failfunction
    接口调用失败的回调函数
    2.41.0
    completefunction
    接口调用结束的回调函数(调用成功、失败都会执行)
    2.41.0

    quality 的合法值

    说明最低支持版本
    high
    高质量
    2.41.0
    normal
    中质量
    2.41.0
    low
    低质量
    2.41.0

    回调成功

    object 类型,属性如下:

    属性名类型说明最低支持版本
    errMsgstring
    "CameraContext.takePhoto:ok"
    2.41.0
    sizenumber
    本地文件大小(单位:B)
    2.41.0
    widthstring
    图片宽度(单位:px)
    2.41.0
    heightstring
    图片高度(单位:px)
    2.41.0
    tempImagePathstring
    照片文件的临时路径 (本地路径),Android 是 jpg 图片格式,iOS 是 png
    2.41.0

    回调失败

    object 类型,属性如下:

    属性名类型说明最低支持版本
    errMsgstring
    "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

    扫码模式下不能调用

    错误码

    errorCodeerrMsgerrorType说明最低支持版本
    132313CameraContext.takePhoto:fail operation is in progress, please do not call againD
    已经在拍照

    当前已有拍照任务,请勿重复调用

    2.41.0
    132391CameraContext.takePhoto:fail Internal error xxxF
    小程序框架内部错误,有需要请创建工单咨询
    2.41.0
    132311CameraContext.takePhoto:fail takePhoto:fail acquire image failF
    小程序框架内部错误,有需要请创建工单咨询
    2.41.0
    132392CameraContext.takePhoto:fail native exception xxxF
    小程序框架内部错误,有需要请创建工单咨询
    2.41.0

    扫码体验

    请使用字节宿主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, }); }, }); }, });