更新记录
1.1(2022-08-11)
- 支持已选择项回显(selectedList参数)
- 支持已选择项直接预览(preview方法)
1.0(2022-08-10)
简介
Ba-MediaPicker
- 支持图片、视频、音频
- 支持拍照、录像、录音
- 支持单选、多选
- 支持设置最大选择数
- 支持图片压缩
- 支持图片裁剪(矩形、圆形,长宽比例)
- 支持预览大图、视频、音频,大图支持缩放
- 支持滑动选择
- 支持根据文件夹筛选
- 支持已选择项预览
- 支持设置语言(简体中文、繁体中文、英语、韩语、德语、法语、日语、俄语等等)
- 支持选择原图
平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:5.0 - 14.0 | armeabi-v7a:支持,arm64-v8a:支持,x86:支持 | × |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios
注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择
图片选择插件(支持视频、音频) Ba-MediaPicker
简介
Ba-MediaPicker 是一款功能强大的uniapp图片、音视频选择插件,可自定义配置,支持单选、多选,支持回显,支持图片压缩、裁剪,支持预览大图、音视频等等。
- 支持图片、视频、音频
- 支持拍照、录像、录音
- 支持单选、多选
- 支持设置最大选择数
- 支持图片压缩
- 支持图片裁剪(矩形、圆形,长宽比例)
- 支持预览大图、视频、音频,大图支持缩放
- 支持滑动选择
- 支持根据文件夹筛选
- 支持已选择项回显
- 支持已选择项预览
- 支持设置语言(简体中文、繁体中文、英语、韩语、德语、法语、日语、俄语等等)
- 支持选择原图
使用方法
在 script
中引入组件
const mediaPicker = uni.requireNativePlugin('Ba-MediaPicker')
在 script
中调用
methods: {
selectPicture() {//图片、音视频选择
mediaPicker.selectPicture({
'onlyCamera': false,
'mediaType': 1,
'single': false,
'singleBack': false,
'max': 9,
'maxVideo': 1,
'compress': false,
'crop': false,
'selectedList': this.selectedList,//已选择项回显,注意:需传选择回调返回的data数组
//...等等,参照:自定义配置参数表
},
(ret) => {//回调参数
console.log(ret);
if (ret.data) {
ret.data.forEach(item => {
//文件名: item.fileName
//初始路径: item.path
//绝对路径: item.realPath
//压缩文件路径: item.compressPath
//...等等,参照:回调函数表
})
}
});
},
preview(index) {//已选择项预览
mediaPicker.preview({
'position': index,//初始显示第几项
'selectedList': this.selectedList,//已选择项回显,注意:需传选择回调返回的data数组
});
},
}
Ba-MediaPicker 自定义配置参数
属性名 | 类型 | 默认值 | 说明 |
---|---|---|---|
onlyCamera | Boolean | false | 是否仅拍照 |
mediaType | Number | 0 | 选择媒体类型 0:所有 1:图片 2:视频 3:音频 |
single | Boolean | false | 是否单选 |
singleBack | Boolean | false | 单选模式直接返回 |
max | Number | 9 | 多选最大选择数 |
maxVideo | Number | 1 | 多选最大选择数(视频) |
compress | Boolean | false | 是否压缩 |
crop | Boolean | false | 是否裁剪 |
cropScale | Number | 0 | 裁剪比例 0(默认) 1(1:1) 2(3:4) 3(3:2) 4(16:9) |
cropRound | Boolean | false | 是否裁剪圆形 |
gif | Boolean | false | 是否显示gif图片 |
language | Number | 0 | 语言 0简体中文 1繁体中文 2英语 3韩语 4德语 5法语 6日语 7越语 8西班牙语 9葡萄牙语 10阿拉伯语 11俄语 |
slide | Boolean | true | 滑动选择 |
isCamera | Boolean | true | 显示拍摄、拍照、录音 |
isDisplayTimeAxis | Boolean | false | 显示资源时间轴 |
isOriginalControl | Boolean | false | 是否开启原图功能 |
isOpenClickSound | Boolean | false | 是否开启点击声音 |
isMaxSelectEnabledMask | Boolean | false | 是否显示蒙层(达到最大可选数量,默认false,弹窗提示) |
selectedList | Array | [] | 已选择项回显,注意:需传选择回调返回的data数组 |
position | Number | 0 | 初始显示第几项(已选择预览时使用) |
回调参数
属性名 | 类型 | 说明 |
---|---|---|
data | Array | 已选择列表 |
data 数组中 item 的属性
属性名 | 类型 | 说明 |
---|---|---|
fileName | String | 文件名 |
path | String | 初始路径 |
realPath | String | 绝对路径 |
compressed | Boolean | 是否压缩 |
compressPath | String | 压缩文件路径 |
isCut | Boolean | 是否裁剪 |
cutPath | String | 裁剪路径 |
isOriginal | Boolean | 是否开启原图 |
originalPath | String | 原图路径 |
videoThumbnailPath | String | 视频缩略图 |
size | String | 文件大小 |
duration | String | 文件时长 |