- JS API 列表
- 基础
- 网络
- 媒体
- 地图
- 文件
- 开放接口
- 数据缓存
- 地理位置
- 设备
- 画布
- 界面
- 页面导航
- 侧边栏能力
- 行业开放
- AI/AR能力
- 第三方平台
- TTML
- 转发和挂载
- 其它
- 直播能力
tt.chooseMedia收藏我的收藏
收藏
我的收藏基础库 2.41.0 开始支持本方法,低版本需做兼容处理,这是一个异步方法。
调用该 API 拍摄或从手机相册中选择图片或视频。
前提条件 | 无 |
业务背景 | 无 |
使用限制 | 无 |
注意事项 | 媒体类型为 video 时,Android 仅支持 mov 和 mp4 格式,iOS 不限制 video 格式,但是 iOS 低端机型对像素有兼容问题,建议使用 4K 以下分辨率文件。 |
支持沙盒 | 否 |
相关教程 | 无 |
语法
tt.chooseMedia(options)
参数说明
options 为 object 类型,属性如下:
属性名 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
---|---|---|---|---|---|
camera | enum | 'back' | 否 | 仅在 sourceType 为 camera 时生效,'front' 使用前置摄像头,'back' 使用后置摄像头,Android 暂不支持拉起前置摄像头 | 2.41.0 |
count | number | 9 | 否 | 最多可以选择的文件个数,不能超过 20。(超过会自动设置为 20) | 2.41.0 |
mediaType | array | ["image", "video"] | 否 | 支持的媒体类型 | 2.41.0 |
sourceType | array | ["album", "camera"] | 否 | 图片和视频选择的来源 | 2.41.0 |
maxDuration | number | 10 | 否 | 录制视频的最大时长,单位秒。时间范围为 3s 至 60s 之间(传入时间范围不符合规范则设 置为默认值)。从相册选择的视频无时长限制。 | 2.41.0 |
sizeType | array | 否 | 仅对 mediaType 为 image 时有效,是否压缩所选文件,默认压缩 | 2.41.0 | |
success | function | 否 | 接口调用成功的回调函数 | 2.41.0 | |
fail | function | 否 | 接口调用失败的回调函数 | 2.41.0 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) | 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 类型,属性如下:
属性名 | 类型 | 说明 | 最低支持版本 |
---|---|---|---|
tempFiles | array | 本地临时文件列表 | 2.41.0 |
errMsg | string | "chooseMedia:ok" | 2.41.0 |
tempFiles 类型说明
object 类型,属性如下:
属性名 | 类型 | 说明 | 最低支持版本 |
---|---|---|---|
tempFilePath | string | 本地临时文件路径 (本地路径) | 2.41.0 |
size | number | 本地临时文件大小,单位 B | 2.41.0 |
mediaType | string | 媒体类型。(image/video) | 2.41.0 |
duration | number | 视频的时间长度(文件类型是视频时才返回) | 2.41.0 |
height | number | 视频的高度(文件类型是视频时才返回,视频太短无法返回) | 2.41.0 |
width | number | 视频的宽度(文件类型是视频时才返回,视频太短无法返回) | 2.41.0 |
回调失败
object 类型,属性如下:
属性名 | 类型 | 说明 | 最低支持版本 |
---|---|---|---|
errMsg | string | "chooseMedia:fail" + 详 细错误信息 | 2.41.0 |
错误码
errNo | errMsg | 说明 | 最低支持版本 |
---|---|---|---|
10201 | "chooseMedia:fail privacy permission is not authorized" | 用户拒绝隐私协议授权,详见小程序隐私协议开发指南 | 3.19.0 |
10202 | "chooseMedia:fail api scope is not declared in the privacy agreement" | 隐私协议中未定义相关隐私信息类型,详见配置隐私协议 | 3.19.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);
},
});
该文档是否有帮助?
点击纠错