更新记录

1.0.0(2026-05-23)

截取视频图片功能的添加


平台兼容性

uni-app(3.7.7)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 小红书小程序 快应用-华为 快应用-联盟
- - - - - - - - - - - -

uni-app x(3.7.7)

Chrome Safari Android iOS 鸿蒙 微信小程序
-

zl-videotool

视频缩略图工具(UTS 插件),提供基础的视频截图功能

平台支持

平台 支持情况
iOS
Android
Harmony
Web ✅(返回 base64 数据)

1. 引入模块

import { getVideoThumbnail } from "@/uni_modules/zl-videotool"

2. 获取本地视频缩略图

uni-app x 中不再支持 plus.io,本地视频需先通过 uni.getFileSystemManager().copyFile() 将 static 目录下的文件复制到用户目录,再传入插件调用。

// #ifdef APP
const fs = uni.getFileSystemManager()
const videoDestPath = `${uni.env.USER_DATA_PATH}/test.mp4`
// 先将 static 下的视频复制到用户目录(插件需要可访问的文件路径)
fs.copyFile({
  srcPath: "/static/test.mp4",
  destPath: videoDestPath,
  success() {
    getVideoThumbnail({
      videoPath: videoDestPath,
      saveImagePath: `${uni.env.USER_DATA_PATH}/TXVideoTool/`,
      saveImageName: "testLocal.png",
      second: 0,
      success(res) {
        console.log("缩略图路径:", res.imagePath)
      },
      fail(err) {
        console.log("错误:", err.errMsg)
      }
    })
  },
  fail() {
    // 文件可能已存在,直接使用
    getVideoThumbnail({
      videoPath: videoDestPath,
      saveImagePath: `${uni.env.USER_DATA_PATH}/TXVideoTool/`,
      saveImageName: "testLocal.png",
      second: 0,
      success(res) {
        console.log("缩略图路径:", res.imagePath)
      },
      fail(err) {
        console.log("错误:", err.errMsg)
      }
    })
  }
})
// #endif

3. 获取网络视频缩略图

getVideoThumbnail({
  videoPath: "https://example.com/video.mp4",
  saveImagePath: `${uni.env.USER_DATA_PATH}/TXVideoTool/`,
  saveImageName: "testNetwork.png",
  second: 6,
  success(res) {
    console.log("缩略图路径:", res.imagePath)
  },
  fail(err) {
    console.log("错误:", err.errMsg)
  }
})

4. Web 平台使用

// #ifdef WEB
getVideoThumbnail({
  videoPath: "/static/test.mp4",
  saveImagePath: "",
  saveImageName: "testLocal.png",
  second: 0,
  success(res) {
    // Web 端返回的是 base64 data URL,可直接用于 image src
    console.log("缩略图:", res.imagePath)
  },
  fail(err) {
    console.log("错误:", err.errMsg)
  }
})
// #endif

参数说明

参数 类型 必填 说明
videoPath string 视频路径,支持本地路径和网络路径(http/https)。App 端本地路径请使用 uni.env.USER_DATA_PATH 下的路径
saveImagePath string 缩略图保存目录路径。App 端请使用 uni.env.USER_DATA_PATH 下的路径
saveImageName string 缩略图文件名(支持 .png / .jpg)
second number 截取第几秒,默认 0
success function 成功回调
fail function 失败回调
complete function 完成回调(无论成功失败都会执行)

成功回调参数

参数 类型 说明
imagePath string 缩略图文件完整路径
code number 状态码,0 表示成功
errMsg string 错误信息

失败回调参数

参数 类型 说明
errCode number 错误码
errMsg string 错误信息

错误码

错误码 说明
9010001 创建目录失败
9010002 视频路径为空
9010003 视频处理错误

路径说明(uni-app x)

uni-app x 中不再支持 plus.io,请使用以下方式获取路径:

路径 获取方式 说明
用户数据目录 uni.env.USER_DATA_PATH 可读写,推荐用于保存缩略图
缓存目录 uni.env.CACHE_PATH 系统可自动清理
沙盒目录 uni.env.SANDBOX_PATH 应用沙盒根目录
static 资源 /static/xxx 只读,需先复制到用户目录才能被插件访问

注意/static/ 下的文件为只读资源,插件内部需使用原生绝对路径。页面调用时传入 uni.env.USER_DATA_PATH 下的路径,插件会自动通过 UTSAndroid.convert2AbsFullPath() / UTSiOS.convert2AbsFullPath() 转换为平台原生绝对路径。

Web 平台说明

Web 平台由于浏览器安全限制无法写入本地文件,saveImagePathsaveImageName 参数无效,成功回调中 imagePath 返回的是 base64 数据 URL(如 data:image/png;base64,...),可直接用于 <image> 组件的 src 属性。

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

暂无用户评论。