更新记录

1.0.0(2021-12-29)

初次发布 1.0.0


平台兼容性

Android Android CPU类型 iOS
适用版本区间:5.0 - 11.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原生插件配置”->”云端插件“列表中删除该插件重新选择


【android录屏】支持录屏录制声音,动态禁止和允许录屏

<template>
    <view>
        <view class="group">
            <view class="btn" @click="startRecord(false)">开始录屏(无声音)</view>
            <view class="btn" @click="startRecord(true)">开始录屏(有声音)</view>
            <view class="btn" @click="stopRecord">停止录屏</view>
        </view>

        <view class="group">
            <view class="btn" @click="noRecord">禁止录屏</view>
            <view class="btn" @click="allowRecord">允许录屏</view>
        </view>
    </view>
</template>

<script>
    export default {
        methods: {
            // 获取录制对象
            getRecordObj(){
                if(!this.recordObj) this.recordObj = uni.requireNativePlugin("me-record")
                return this.recordObj
            },
            // 开始录制
            startRecord(isAudio){
                let option = {
                    ratio: 3, // 视频清晰度, 建议取值: 1,2,3,4,5,6; 越大越清晰, 默认3 (值越大内存要求越高, 太高容易内存溢出闪退)
                    frame: 30, // 视频帧率, 建议取值: 15,20,25,30,60; 越大越流畅, 默认30
                    isAudio: isAudio // 是否录制声音, 默认false
                }
                this.getRecordObj().startRecord(option, res=>{
                    if(res.code == 0){
                        // {code:0, msg:"开始录屏"}
                        uni.showToast({title: "已开始录制", icon: "none"})
                    }else{
                        // {code:501, msg:"您的系统不支持录屏功能"}
                        // {code:502, msg:"您已拒绝录屏权限"}
                        // {code:503, msg:"您已拒绝录屏操作"}
                        // {code:504, msg:"当前窗口禁止录屏"}
                        uni.showToast({title: "录制失败:"+JSON.stringify(res), icon: "none"})
                    }
                })
            },
            // 停止录制
            stopRecord(){
                let res = this.getRecordObj().stopRecord()
                if(res.code == 0){
                    // {code:0, msg:"录制成功", path:"本地视频路径"}
                    console.log("本地视频路径:" + res.path) // 可继续调uni.uploadFile()上传至服务器
                    uni.showToast({title: "录制的视频已保存到相册", icon: "none"})
                }else{
                    // {code:501, msg:"您还未开始录屏"}
                    uni.showToast({title: "操作失败:"+JSON.stringify(res), icon: "none"})
                }
            },
            // 禁止录屏
            noRecord(){
                this.getRecordObj().noRecord()
                uni.showToast({title: "已禁止录屏", icon: "none"})
            },
            // 允许录屏
            allowRecord(){
                this.getRecordObj().allowRecord()
                uni.showToast({title: "已允许录屏", icon: "none"})
            }
        }
    }
</script>

<style>
    .group {
        padding: 40rpx 80rpx;
    }
    .group .btn{
        text-align: center;
        padding: 20rpx;
        border: 1px solid #007AFF;
        color: #007AFF;
    }
    .group .btn~.btn{
        border-top: none;
    }
</style>

隐私、权限声明

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

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

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

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

许可协议

请参考开源项目地址的开源协议

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