• JS API 列表
  • 基础
  • TTML
  • 网络
  • 媒体
  • 图片
  • 录音
  • 音频
  • 视频
  • tt.chooseVideo
  • tt.saveVideoToPhotosAlbum
  • tt.preloadVideo
  • PreloadVideoTask
  • tt.chooseMedia
  • tt.createVideoContext
  • VideoContext
  • tt.createLivePlayerContext
  • LivePlayerContext
  • tt.prerenderVideo
  • tt.canIUseVideoFormat
  • 相机
  • 特效相机
  • Canvas 录制
  • rtc-room 实时通信
  • 地图
  • 文件
  • 数据缓存
  • 地理位置
  • 设备
  • 画布
  • 界面
  • 页面导航
  • 开放接口
  • 行业开放
  • 第三方平台
  • 其它
  • tt.chooseMedia
    收藏
    我的收藏

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

    调用该 API 拍摄或从手机相册中选择图片或视频。

    前提条件
    业务背景
    使用限制
    注意事项

    媒体类型为 video 时,Android 仅支持 mov 和 mp4 格式,iOS 不限制 video 格式,但是 iOS 低端机型对像素有兼容问题,建议使用 4K 以下分辨率文件。

    支持沙盒
    相关教程

    语法

    tt.chooseMedia(options)

    参数说明

    options 为 object 类型,属性如下:

    属性名类型默认值必填说明最低支持版本
    cameraenum'back'
    仅在 sourceType 为 camera 时生效,'front' 使用前置摄像头,'back' 使用后置摄像头,Android 暂不支持拉起前置摄像头
    2.41.0
    countnumber9

    最多可以选择的文件个数,不能超过 20。

    2.41.0
    mediaTypeArray<string>["image", "video"]

    支持的媒体类型

    2.41.0
    sourceTypeArray<string>["album", "camera"]

    图片和视频选择的来源

    2.41.0
    maxDurationnumber10
    录制视频的最大时长,单位秒。时间范围为 3s 至 60s 之间(传入时间范围不符合规范则设置为默认值)。从相册选择的视频无时长限制。
    2.41.0
    sizeTypeArray<string>

    仅对 mediaType 为 image 时有效,是否压缩所选文件,默认压缩

    2.41.0
    successfunction
    接口调用成功的回调函数
    2.41.0
    failfunction
    接口调用失败的回调函数
    2.41.0
    completefunction
    接口调用结束的回调函数(调用成功、失败都会执行)
    2.41.0

    mediaType 参数说明

    说明

    最低支持版本

    ['image']

    只能拍摄图片或从相册选择图片

    2.41.0

    ['video']

    只能录制视频或从相册选择视频

    2.41.0

    ['image', 'video']

    支持图片或视频

    2.41.0

    sourceType 参数说明

    说明

    最低支持版本

    ['album']

    从相册选择

    2.41.0

    ['camera']

    使用相机拍摄

    2.41.0

    ['album', 'camera']

    从相册选择或使用相机拍摄

    2.41.0

    sizeType 参数说明

    说明

    最低支持版本

    ['original']

    原图

    2.41.0

    ['compressed']

    压缩系数 0.75 的图片

    2.41.0

    camera 的合法值

    说明最低支持版本
    front
    使用前置摄像头
    2.41.0
    back
    使用后置摄像头
    2.41.0

    回调成功

    object 类型,属性如下:

    属性名类型说明最低支持版本
    tempFilesarray
    本地临时文件列表
    2.41.0
    errMsgstring
    "chooseMedia:ok"
    2.41.0

    tempFiles 类型说明

    object 类型,属性如下:

    属性名类型说明最低支持版本
    tempFilePathstring
    本地临时文件路径 (本地路径)
    2.41.0
    sizenumber
    本地临时文件大小,单位 B
    2.41.0
    mediaTypestring
    媒体类型。(image/video)
    2.41.0
    durationnumber
    视频的时间长度(文件类型是视频时才返回)
    2.41.0
    heightnumber
    视频的高度(文件类型是视频时才返回,视频太短无法返回)
    2.41.0
    widthnumber
    视频的宽度(文件类型是视频时才返回,视频太短无法返回)
    2.41.0

    回调失败

    object 类型,属性如下:

    属性名类型说明最低支持版本
    errMsgstring
    "chooseMedia:fail" + 详细错误信息
    2.41.0

    错误码

    errorCodeerrMsgerrorType说明最低支持版本
    113395chooseMedia:fail cancelU
    用户取消

    用户取消,不需要特殊处理

    2.41.0
    113390chooseMedia:fail auth denyU
    用户拒绝授权小程序权限

    用户未授予小程序授权,请引导用户按需授权,详情参考 用户授权

    2.41.0
    113386chooseMedia:fail cannot be called frequentlyD
    开发者错误

    该能力有调用频率限制,请勿频繁调用该能力

    2.41.0
    113389chooseMedia:fail system auth denyU
    用户错误

    用户未授予系统权限,请引导用户按需授权

    2.41.0
    113391chooseMedia:fail Internal error xxxF
    小程序框架内部错误,有需要请拉客服咨询

    小程序框架异常,请创建工单反馈,会有专人协助您解决问题

    2.41.0
    113399chooseMedia:fail the value of params.maxDuration should be greater than or equal to 3D
    参数校验错误

    检查入参

    2.41.0
    113379chooseMedia:fail api scope is not declared in the privacy agreementD
    隐私能力不在申请的 scope 内

    检查隐私协议

    2.41.0
    113380chooseMedia:fail privacy permission is not authorizedU
    隐私协议未授权

    用户未授权隐私协议,请引导用户按需授权

    2.41.0
    113392chooseMedia:fail native exceptionF
    小程序框架内部错误,有需要请拉客服咨询

    小程序框架异常,请创建工单反馈,会有专人协助您解决问题

    2.41.0

    扫码体验

    请使用字节宿主APP扫码

    代码示例

    开发者工具中预览

    tt.chooseMedia({ count: 9, mediaType: ["image", "video"], sourceType: ["album", "camera"], sizeType: ["original"], maxDuration: 30, camera: "back", success(res) { console.log(res.tempFiles.tempFilePath); console.log(res.tempFiles.size); }, });