更新记录

1.7.8(2023-05-26)

  • 删除安卓端icon 图片与其他同名。

1.7.7(2023-05-24)

  • 修复安卓端,执行录音,暂停,停止,再录音时,出现闪退的问题。

1.7.6(2023-05-16)

  • 修复安卓端 部分文件与其他第三方插件文件有冲突的问题。
查看更多

平台兼容性

Android Android CPU类型 iOS
适用版本区间:4.4 - 12.0 armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 适用版本区间:9 - 16

原生插件通用使用流程:

  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 和 IOS 原生录音插件,支持暂停继录

温馨提示一下, 这个插件不支持通话录音,重要的事说三遍:不支持通话录音,不支持通话录音,不支持通话录音

一 、插件使用

  • 引用插件
const plug=uni.requireNativePlugin("html5app-recordaudio");

关于是否能在后台录音,会不会被清理掉

  • Android 如果需要在后台录音的,showNotification 设置为true 打开状态栏通知服务,来维持应用进入后台之前,能够继续录音而不被清理掉。

  • IOS 需要添加麦克风录音权限

 "ios" : {
    "privacyDescription" : {
        "NSMicrophoneUsageDescription" : "用于录制音频,是否允许?"
    },
    "UIBackgroundModes" : [ "audio" ] //允许音频在后台播放,需要后台录音,需要添加此权限
},

二 、插件方法说明

方法名称 说明
start 开始录音
pause 暂停录音
resume 恢复录音
stop 停止录音
deleteCache 删除所有已录制的录音缓存文件

1.开始录音


        plug.start({
        format:"wav", //音频格式,wav,mp3,pcm
        rate:16000, //音频采样率,8000hz,16000hz,44100hz 
        encode:16 //音频位宽,8位,16位 
        channel:2, //通道,1=>单声道,2=>双声道
        saveDir:"",  //自定义保存文件夹路径,留空默认保存路径,例如:let path=plus.io.convertLocalFileSystemURL("_doc");
        showNotification:true, //是否显示状态栏,开启可以增强应用在后台录音和息屏录音的存活率
        notificationName:"", //状态栏,默认是应用名称
        notificationText:"正在录音中,不要关闭应用" //内容显示,默认显示是正在录音中...
        },function(e){

        console.log(JSON.stringify(e));
        }); 

        //监听录音回调进度, 可用可不用,不是必须的。
        plug.updateTime(function(s){

            //console.log(s);
              //1分钟结束录音
            if(s==60)
            {
                _this.stop();
            }

        });

2.暂停录音

plug.pause();

3.继续(恢复)录音

plug.resume();

4.停止录音

  • 返回录音文件
    plug.stop(function(e){              

    console.log(e.filePath);

   });
  • 返回录音参数
{"fileSize":218880,
"code":0,
"duration":7,
"filePath":"/storage/emulated/0/Android/data/uni.UNI7B74429/cache/RecordAudio/record_20211020_20_19_02.wav",
"msg":"录音结束"
}

5.删除缓存的录音文件

plug.deleteCache();

隐私、权限声明

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

需要用到的系统权限: 麦克风权限。

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

插件不采集任何数据。

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

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