更新记录
v1.0.0(2025-12-29) 下载此版本
- 首次发布
- 支持网络视频(HTTP/HTTPS)封面提取
- 支持本地视频封面提取
- 支持 content:// URI
- 支持指定时间点提取
- 支持自定义 JPEG 质量
- 提供 Promise API
平台兼容性
lab-uts-video-cover
高性能视频封面提取插件,支持网络视频和本地视频,智能路径,秒开不卡顿
特性
- ✅ 网络视频支持 - 直接传入 HTTP/HTTPS 链接,无需下载
- ✅ 本地视频支持 - 支持文件路径和 content:// URI
- ✅ 指定时间点 - 精确提取任意秒数的画面
- ✅ 智能路径 - 无需手动指定保存路径,自动管理临时文件
- ✅ 秒开不卡顿 - 使用 OPTION_CLOSEST_SYNC 优化,快速定位关键帧
- ✅ 纯 UTS 实现 - 无原生依赖,标准基座可直接运行
平台支持
| Android | iOS |
|---|---|
| ✅ 5.0+ | ✅ 12.0+ |
安装
在 uni_modules 目录下导入本插件即可。
使用方法
引入插件
import { getCover } from '@/uni_modules/lab-uts-video-cover/js'
本地视频封面
// 选择视频
uni.chooseMedia({
count: 1,
mediaType: ['video'],
sourceType: ['album'],
success: async (res) => {
const videoPath = res.tempFiles[0].tempFilePath
const coverPath = await getCover(videoPath)
console.log('封面路径:', coverPath)
}
})
网络视频封面
// 直接传入网络视频 URL
const path = await getCover('https://example.com/video.mp4')
console.log('封面路径:', path)
指定时间点和质量
const path = await getCover('/path/to/video.mp4', {
time: 5, // 提取第 5 秒的画面
quality: 90 // JPEG 质量 90%
})
console.log('封面路径:', path)
错误处理
try {
const path = await getCover('https://example.com/video.mp4', { time: 5 })
console.log('封面路径:', path)
} catch (error) {
console.error('提取失败:', error.message)
}
API
getCover(src, options?): Promise\<string>
提取视频封面图片。
参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| src | string | 是 | 视频路径,支持网络地址(http/https)、本地路径、content:// URI |
| options | object | 否 | 配置选项 |
options:
| 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| time | number | 0 | 提取时间点(秒) |
| savePath | string | 自动生成 | 保存路径,不传则自动生成临时路径 |
| quality | number | 80 | JPEG 质量 1-100 |
返回值:
Promise<string>- 封面图片路径
注意事项
- 网络视频:首次加载可能需要一定时间,建议显示 loading 提示
- 缓存管理:封面图片保存在应用缓存目录,系统会自动清理
- iOS 权限:访问网络视频需要在 manifest 中配置网络权限
- 仅支持真机:本插件依赖原生 API,不支持模拟器
更新日志
1.0.0
- 首次发布
- 支持网络视频和本地视频封面提取
- 支持指定时间点和质量参数

收藏人数:
下载插件并导入HBuilderX
赞赏(0)
下载 0
赞赏 0
下载 12710282
赞赏 1832
赞赏
京公网安备:11010802035340号