Taro.compressVideo(option)
压缩视频接口。
开发者可指定压缩质量 quality
进行压缩。当需要更精细的控制时,可指定 bitrate
、fps
、和 resolution
,当 quality
传入时,这三个参数将被忽略。原视频的相关信息可通过 getVideoInfo 获取。
支持情况:
类型
(option: Option) => Promise<SuccessCallbackResult>
参数
参数 | 类型 |
---|---|
option | Option |
Option
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
src | string | 是 | 视频文件路径,可以是临时文件路径也可以是永久文件路径 |
quality | keyof Quality | 是 | 压缩质量 |
bitrate | number | 是 | 码率,单位 kbps |
fps | number | 是 | 帧率 |
resolution | number | 是 | 相对于原视频的分辨率比例,取值范围(0, 1] |
success | (result: SuccessCallbackResult) => void | 否 | 接口调用成功的回调函数 |
fail | (res: TaroGeneral.CallbackResult) => void | 否 | 接口调用失败的回调函数 |
complete | (res: TaroGeneral.CallbackResult) => void | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
SuccessCallbackResult
参数 | 类型 | 说明 |
---|---|---|
tempFilePath | string | 压缩后的临时文件地址 |
size | number | 压缩后的大小,单位 kB |
Quality
参数 | 说明 |
---|---|
low | 低 |
medium | 中 |
high | 高 |
示例代码
Taro.chooseVideo({
sourceType: ['album', 'camera'],
maxDuration: 60,
camera: 'back',
compressed: false,
success (res) {
Taro.compressVideo({
src: res.tempFilePath,
quality: quality,
bitrate: 1032,
fps: 24,
resolution:0.5,
success (res) {
console.log("压缩成功")
},
fail (err) {
console.log("压缩失败")
}
})
}
})