title: Taro.compressVideo(option)
sidebar_label: compressVideo
压缩视频接口。
开发者可指定压缩质量 quality
进行压缩。当需要更精细的控制时,可指定 bitrate
、fps
、和 resolution
,当 quality
传入时,这三个参数将被忽略。原视频的相关信息可通过 getVideoInfo 获取。
支持情况:
参考文档
类型
(option: Option) => Promise<SuccessCallbackResult>
参数
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("压缩失败")
}
})
}
})