更新记录
1.0.1(2026-07-21)
优化
1.0.0(2026-07-21)
首次发布
平台兼容性
uni-app(5.0)
| Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
|---|---|---|---|---|---|---|---|---|
| √ | √ | - | - | √ | √ | √ | √ | - |
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 小红书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| - | - | - | - | - | - | - | - | - | - | - | - |
uni-app x(5.0)
| Chrome | Safari | Android | iOS | 鸿蒙 | 微信小程序 |
|---|---|---|---|---|---|
| - | - | √ | √ | - | - |
ax-video-cover
ax-video-cover 是一个基于 UTS 开发的跨平台(iOS/Android)原生视频封面提取插件。
该插件提供极速的视频帧提取能力,无需加载播放器即可直接提取任意本地视频或网络视频的指定时间帧,并以极高的性能直接写入本地相册缓存。
平台兼容性
| iOS | Android |
|---|---|
| ✅ | ✅ |
提示: 这是一个 UTS 原生插件,必须打包自定义基座后才能生效。
引入插件
在需要使用的 vue 页面或组件中导入插件 API:
import { getVideoCover } from '@/uni_modules/ax-video-cover'
API 列表
getVideoCover(options)
获取视频的指定时间帧,保存为本地的 JPEG 图片。
options 参数说明
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
src |
String | 是 | - | 视频文件的绝对路径或网络URL。 注意:如果是 uni.chooseVideo 返回的临时路径,必须使用 plus.io.convertLocalFileSystemURL(path) 进行转换,否则底层可能无法识别。 |
time |
Number | 否 | 0 |
需要提取封面的时间点,单位为毫秒(ms)。例如提取第1秒的帧请传入 1000 |
quality |
Number | 否 | 100 |
生成封面的压缩质量,取值范围 0-100。100 表示最高画质(不压缩)。 |
success |
Function | 否 | - | 提取成功的回调函数 |
fail |
Function | 否 | - | 提取失败的回调函数 |
success 返回参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
tempFilePath |
String | 生成的封面图片在本地硬盘的绝对路径(格式为 .jpg) |
fail 返回参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
errCode |
Number | 错误码 |
errMsg |
String | 错误描述信息 |
完整代码示例
下面演示了如何从相册选取视频,并立刻提取它的第0秒和第2秒画面的完整使用场景:
<template>
<view class="content">
<button type="primary" @click="pickVideo">选择视频获取封面</button>
<image v-if="coverPath" :src="coverPath" mode="aspectFit" style="width: 100%; height: 300px; margin-top: 20px;"></image>
</view>
</template>
<script>
import { getVideoCover } from '@/uni_modules/ax-video-cover'
export default {
data() {
return {
coverPath: ''
}
},
methods: {
pickVideo() {
// 1. 从相册选择视频
uni.chooseVideo({
sourceType: ['album'],
compressed: false,
success: (res) => {
// 2. 调用插件提取封面
getVideoCover({
// 必须转换相对路径为绝对路径
src: plus.io.convertLocalFileSystemURL(res.tempFilePath),
time: 0, // 提取第 0 秒
quality: 100, // 压缩质量
success: (result) => {
console.log('提取成功,图片保存路径:', result.tempFilePath);
this.coverPath = result.tempFilePath;
},
fail: (err) => {
console.error('封面提取失败', err);
uni.showToast({
title: '提取失败',
icon: 'none'
})
}
})
}
})
}
}
}
</script>

收藏人数:
购买源码授权版(
试用
赞赏(0)
下载 21
赞赏 0
下载 12443649
赞赏 1935
赞赏
京公网安备:11010802035340号