更新记录

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:支持 ×

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
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 文件时长

隐私、权限声明

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

相机、文件读写

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

插件不采集任何数据

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

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