更新记录
1.0.6(2025-02-18)
修复生成略缩图错误
1.0.5(2025-01-10)
优化略缩图加载速度
1.0.4(2025-01-08)
支持批量生成略缩图
查看更多
平台兼容性
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) 获取文件分组
名称 |
类型 |
必填 |
默认值 |
描述 |
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 |
- |
结束回调(调用成功、失败都会执行) |
名称 |
类型 |
必备 |
描述 |
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) 获取文件列表
名称 |
类型 |
必填 |
默认值 |
描述 |
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 |
- |
结束回调(调用成功、失败都会执行) |
名称 |
类型 |
必备 |
描述 |
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()