更新记录

1.1(2020-05-20)

解决个别手机调用uni.chooseVideo拍摄的视频压缩失败。

1.0(2020-05-19)

有些小伙伴使用了uni的livepusher插件导致使用QRZC-Compressor插件时引用包发生冲突 本版本将冲突的包移除了,解决冲突,本地测试可以通过。


平台兼容性

Android Android CPU类型 iOS
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原生插件配置”->”云端插件“列表中删除该插件重新选择


欢迎使用 QRZC-Compressor-LivePusher

QRZC-Compressor-LivePusher是一款视频压缩及取得缩略图的原生插件,支持android和iOS

有些小伙伴使用了uni的livepusher插件导致使用QRZC-Compressor插件时引用包发生冲突 本版本将冲突的包移除了,解决冲突,本地测试可以通过。

视频压缩,支持返回第一帧图片。分3个等级压缩:高清,标清,低清。 压缩视频的同时生成视频第一帧图片可作为缩略图使用。 压缩后的生成的文件存放在app临时文件夹中,下一次app启动时会被删除(与uni的原生的拍摄插件策略一致),如果需要保存请自行调用uni提供的api保存到相册。 compressor--视频压缩。 新增方法: getVideoThumb--可以直接取得视频缩略图。 具体请看示例工程。

离线打包请加群咨询:23671788

代码示例

var testModule = uni.requireNativePlugin("QRZC-Compressor")
getthmb() {
                let _this = this;
                testModule1.getVideoThumb({
                    'url': 'http://xxx.xxx.xxx.xxx/123.mp4'
                    },
                    (res) => {
                        uni.showModal({
                            title:'返回数据',
                            content: JSON.stringify(res)
                        })
                        //需要转换一下路径
                        _this.src = plus.io.convertAbsoluteFileSystem(res.thumbPath);
                    })

            },
test() {
    let _this = this;
    uni.chooseVideo({
    maxDuration: 10,
    success: res => {
    console.log(res.tempFilePath);
    console.log(plus.io.convertAbsoluteFileSystem(res.tempFilePath));
    console.log(plus.io.convertLocalFileSystemURL(res.tempFilePath));
    //这里入参要将文件路径转换一下
    testModule.compressor({
    'file': plus.io.convertLocalFileSystemURL(res.tempFilePath),
    'quality': '3'
    },
    (ret) => {
    uni.showModal({
    title:'返回数据',
    content: JSON.stringify(ret)
    })
    //如果选择的是拍摄需要转换一下路径
    _this.src = plus.io.convertAbsoluteFileSystem(ret.thumbPath);
    },
    (p) => {
    this.title = this.title + JSON.stringify(p)
    })
    }
    });
}

压缩方法:compressor

入参说明

参数名 类型 说明
options Object 传入的参数。包含file和quality,必须
operation Function 压缩后的回调,必须
progress Function 压缩进度的回调

options对象说明

参数名 类型 说明
file 字符串 准备压缩的视频文件绝对路径。uni.chooseVideo方法取得的路径请plus.io.convertLocalFileSystemURL转换
quality 字符串 压缩清晰度。1:高清,2:标清,3:低清。默认3

返回数据说明

参数名 说明
type 操作类别。压缩成功:Success,失败:Fail,进度条:Progress。
outPath 压缩后视频文件的绝对路径
thumbPath 视频第一帧图片的绝对路径
progress 进度条进度

取得缩略图方法:getVideoThumb

入参说明

参数名 类型 说明
options Object 传入的参数。包含url必须
operation Function 压缩后的回调,必须

options对象说明

参数名 类型 说明
url 字符串 视频文件绝对路径或网络地址。本地文件请plus.io.convertLocalFileSystemURL转换

返回数据说明

参数名 说明
result 操作类别。成功:Success,失败:Fail
thumbPath 视频第一帧图片的绝对路径

End

隐私、权限声明

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

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

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

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