tt.chooseVideo收藏我的收藏
收藏
我的收藏基础库 1.0.0 开始支持本方法,这是一个异步方法。
从系统相册中选择视频,或使用相机拍摄视频,返回视频的临时文件路径。
前提条件 | 无 |
业务背景 | 无 |
使用限制 | 该 API 需要用户授权方可调用,详细信息可参考用户授权。 |
注意事项 |
|
支持沙盒 | 否 |
相关教程 | 无 |
语法
tt.chooseVideo(options)
参数说明
options 为 object 类型,属性如下:
属性名 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
---|---|---|---|---|---|
camera | string | back | 否 | 拉起前置摄像头(front)或后置摄像头(back),默认是后置摄像头,Android 暂不支持 | 1.0.0 |
sourceType | Array<string> | ["album","camera"] | 否 | 指定视频来源为相册(album)或相机(camera) ,默认两者都有 | 1.0.0 |
compressed | boolean | true | 否 | 是否需要压缩视频源文件,默认值为 true,需要压缩,Android 暂不支持 | 1.0.0 |
maxDuration | number | 60 | 否 | 选择视频的最大时长(单位:s) | 1.0.0 |
success | function | 否 | 接口调用成功的回调函数 | 1.0.0 | |
fail | function | 否 | 接口调用失败的回调函数 | 1.0.0 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) | 1.0.0 |
回调成功
object 类型,属性如下:
属性名 | 类型 | 说明 | 最低支持版本 |
---|---|---|---|
width | number | 选定视频的视频宽度(单位:px) | 1.0.0 |
height | number | 选定视频的高度(单位:px) | 1.0.0 |
tempFilePath | string | 选定视频的临时文件路径 | 1.0.0 |
duration | number | 选定视频的时间长度 (单位:s) | 1.0.0 |
size | number | 选定视频的数据量大小(单位:B) | 1.0.0 |
errMsg | string | "chooseVideo:ok" | 1.0.0 |
回调失败
object 类型,属性如下:
属性名 | 类型 | 说明 | 最低支持版本 |
---|---|---|---|
errMsg | string | "chooseVideo:fail " + 详细错误信息 | 1.0.0 |
错误码
errNo | errMsg | 说明 | 最低支持版本 |
---|---|---|---|
10201 | "chooseVideo:fail privacy permission is not authorized" | 用户拒绝隐私协议授权,详见小程序隐私协议开发指南 | 3.19.0 |
10202 | "chooseVideo:fail api scope is not declared in the privacy agreement" | 隐私协议中未定义相关隐私信息类型,详见配置隐私协议 | 3.19.0 |
扫码体验
请使用字节宿主APP扫码
代码示例
<!-- index.ttml --> <button type="primary" bindtap="chooseVideo">选择视频</button> <view> <view>{{description}}</view> <video src="{{videoSrc}}" controls="true"></video> </view>
// index.js Page({ data: { videoSrc: "", description: "", }, chooseVideo() { tt.chooseVideo({ sourceType: ["album", "camera"], compressed: true, success: (res) => { let { duration, width, height, size } = res; this.setData({ videoSrc: res.tempFilePath, description: `视频时长:${duration}s; 视频宽度:${width}px; 视频高度:${height}px; 视频大小:${size}B`, }); }, fail: (err) => { let errType = err.errMsg.includes("chooseVideo:fail cancel") ? "取消选择" : "选择失败"; tt.showModal({ title: errType, content: err.errMsg, showCancel: false, }); }, complete: () => { console.log("完成选择"); }, }); }, });
点击纠错