更新记录

1.0.6(2025-02-18)

修复生成略缩图错误

1.0.5(2025-01-10)

优化略缩图加载速度

1.0.4(2025-01-08)

支持批量生成略缩图

查看更多

平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 4.25,Android:5.0,iOS:不支持,HarmonyNext:不支持 × × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序 鸿蒙元服务
× × × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
× × × × × × × × ×

1、RequestMediaPermission(fun) 请求读取文件权限

  • 参数
名称 类型 必填 默认值 描述
fun (callback : boolean) => void N - 权限请求回调
  • 示例代码
import { requestMediaPermission } from "@/uni_modules/pux-media"

/* 请求读取文件权限 */
requestMediaPermission((status) => {
    // ...
})

2、GetMediaGroups(GetMediaGroupsOptions) 获取文件分组

  • GetMediaGroupsOptions参数
名称 类型 必填 默认值 描述
mediaType string N 'both' 媒体类型:image(图片)、video(视频)、both(默认两者都有)
frameSize number N - 相册封面图尺寸:将根据此值获取每个相册的第一张图片或视频封面,等比缩放生成相册封面图,不传则不生成相册封面图
success (callback : MediaGroup[]) => void N - 成功回调
fail (callback : MediaFail) => void N - 失败回调
complete (callback : any) => void N - 结束回调(调用成功、失败都会执行)
  • MediaGroup的属性值
名称 类型 必备 描述
id string Y 分组ID
name string Y 分组名
count number Y 文件总数
frame string N 相册封面图
files Array N 文件列表
  • 示例代码
import { requestMediaPermission, getMediaGroups } from "@/uni_modules/pux-media"

/* 获取文件分组 */
requestMediaPermission((status) => {
    if (status) {
        mediaType = type
        getMediaGroups({
            mediaType: 'both',
            frameSize: 400,
            success(res) {
                albums.value = res
            }
        })
    } else {
        uni.showToast({
            title: '请授权访问相册',
            icon: 'none'
        })
    }
})

3、GetMediaFiles(GetMediaFilesOptions) 获取文件列表

  • GetMediaFilesOptions参数
名称 类型 必填 默认值 描述
mediaType string N 'both' 媒体类型:image(图片)、video(视频)、both(默认两者都有)
bucketId string N 'recent' 分组ID:recent(默认最近项目)
page number N 1 页码
pageSize number N 30 每页数量
thumbnailSize number N - 略缩图尺寸:将根据此值将原图等比缩放,不传则不生成略缩图
success (callback : MediaFile[]) => void N - 成功回调
fail (callback : MediaFail) => void N - 失败回调
complete (callback : any) => void N - 结束回调(调用成功、失败都会执行)
  • MediaFile的属性值
名称 类型 必备 描述
bucketName string Y 分组名
bucketId string Y 分组ID
type string Y MIME类型
id string Y 文件ID
name string Y 文件名
size number Y 文件大小,单位字节
date number Y 文件创建时间戳,单位毫秒
width number Y 图片、视频原始宽度
height number Y 图片、视频原始高度
path string Y 文件本地路径
duration number N 视频时长,单位毫秒
thumbnail string N 图片、视频略缩图
  • 示例代码
import { getMediaFiles } from "@/uni_modules/pux-media"

/* 获取文件列表 */
getMediaFiles({
    mediaType: 'both',
    page: 1,
    pageSize: 30,
    thumbnailSize: 400,
    success(res) {
        // ...
    }
})

4、GetFrameAtTime(filePath, time) 根据时间获取视频封面,返回临时文件路径

  • 参数
名称 类型 必填 默认值 描述
filePath string Y - 文件路径
time number N 0 获取的位置,单位毫秒
  • 返回值
名称 类型 描述
tempPath string .jpg格式的临时路径
  • 示例代码
import { getFrameAtTime } from "@/uni_modules/pux-media"

/* 根据时间获取视频封面,返回临时文件路径 */
const tempPath = getFrameAtTime(filePath, 0)

5、ClearMediaCache() 清空略缩图、视频封面图临时缓存

  • 示例代码
import { clearMediaCache } from "@/uni_modules/pux-media"

/* 清空略缩图、视频封面图临时缓存 */
clearMediaCache()

隐私、权限声明

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

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

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

插件不采集任何数据

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

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问