更新记录
1.0.0(2026-07-29)
- 初版本发布,Android、iOS获取视频封面
平台兼容性
uni-app(5.12)
| Vue2 |
Vue3 |
Chrome |
Safari |
app-vue |
app-nvue |
Android |
Android插件版本 |
iOS |
iOS插件版本 |
鸿蒙 |
| - |
- |
× |
× |
- |
- |
4.4 |
1.0.0 |
12 |
1.0.0 |
- |
| 微信小程序 |
支付宝小程序 |
抖音小程序 |
百度小程序 |
快手小程序 |
京东小程序 |
鸿蒙元服务 |
QQ小程序 |
飞书小程序 |
小红书小程序 |
快应用-华为 |
快应用-联盟 |
| - |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
hy-videoPoster
视频封面抽取插件,支持从本地视频文件中截取指定时间点的一帧作为封面图片。
平台支持
| 平台 |
实现方式 |
状态 |
| Android |
MediaMetadataRetriever (Kotlin) |
✅ |
| iOS |
AVAssetImageGenerator (Swift) |
✅ |
| 鸿蒙 |
- |
🚧 开发中 |
API
extractVideoFrame(options)
从本地视频文件中提取指定时间点的一帧图片。
参数 (ExtractVideoFrameOptions):
| 字段 |
类型 |
必填 |
说明 |
| filePath |
string |
是 |
本地视频文件路径 |
| timeMs |
number |
是 |
截取时间点,单位毫秒 |
| quality |
number |
否 |
JPEG 压缩质量,0-100,默认 80 |
| success |
function |
否 |
成功回调 |
| fail |
function |
否 |
失败回调 |
| complete |
function |
否 |
完成回调 |
成功返回 (ExtractVideoFrameResult):
| 字段 |
类型 |
说明 |
| imagePath |
string |
封面图片的本地路径 |
错误码:
| 错误码 |
说明 |
| 9020001 |
视频文件不存在 |
| 9020002 |
视频帧提取失败 |
| 9020003 |
封面图片保存失败 |
使用示例
import {
extractVideoFrame
} from '@/uni_modules/hy-videoPoster'
const VIDEO_POSTER_TIME_MS = 0
const VIDEO_POSTER_QUALITY = 50
function extractPosterWithPlugin(videoPath) {
if (typeof extractVideoFrame !== 'function') {
return Promise.resolve('')
}
return new Promise((resolve) => {
extractVideoFrame({
filePath: videoPath,
timeMs: VIDEO_POSTER_TIME_MS,
quality: VIDEO_POSTER_QUALITY,
success: (res) => {
resolve(String(res?.imagePath || '').trim())
},
fail: () => resolve('')
})
})
}
开发文档