更新记录
1.1.9(2023-06-15)
1 追加荣耀 是否开启录音检测 2 解决vivo 挂断事件返回2次事件
1.1.8(2023-04-09)
红米手机追加打开设置功能
1.1.7(2023-04-03)
1 追加红米检测 是否开启通话录音 2 解决部分型号双卡手机,拨打电话选卡阶段进行取消也会触发挂断回调
查看更多平台兼容性
| Android | Android CPU类型 | iOS | 
|---|---|---|
| 适用版本区间:5.0 - 11.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原生插件配置”->”云端插件“列表中删除该插件重新选择
插件使用前置
- 此插件只提供了录音上传功能,不包含手机录音功能
 - 此插件只提供了录音上传功能,不包含手机录音功能
 - 此插件只提供了录音上传功能,不包含手机录音功能
 - 手机录音需要打电话时 开启录音 或者 手机设置界面 开启通话自动录音
 - 手机录音需要打电话时 开启录音 或者 手机设置界面 开启通话自动录音
 - 手机录音需要打电话时 开启录音 或者 手机设置界面 开启通话自动录音
 
安卓版本
- 打开manifest.json -> app常用其他设置 -> minSdkVersion 输入23
 - "minSdkVersion" : 23
 
使用插件
- 项目根目录 main.js 导入插件
 
if (plus.os.name.toLowerCase() == "android") {
    const call = uni.requireNativePlugin("zyjw-upload_call");
    Vue.prototype.$call = call
}
- 获取权限(引导用户获取,可以在app.vue onLaunch 方法里面,打开app获取权限)
 
app.$call.permissionChecks(
        (ret) => {
            console.log(ret)
        })
ret:        
{
    "text": "permissionChecks 检测权限",
    "code": 0,
    "msg": "权限获取失败"
}
- 初始化(确保用户已授权上面的权限)
 
app.$call.init({
            "filePath":"/Sounds/CallRecord", //电话录音文件路径 不同手机不一样,
            "scanFileType":"1", // 录音扫描方式 0 通过文件名 如华为(10010_20211111120000.m4a) 1 通过通话记录(有些录音文件的格式不固定可以使用这种方式)
            "scanFileTimeType": 0,//扫描时间匹配方式 0 通过最后修改时间  1 通过创建时间
            "timeSpan": 20, //误差值单位秒
            "uploadFileType":"0", //0 只有通过软件拨打的电话会上传  1 所有
            "delayMillis":1000, //延迟多少毫秒,手机性能差的会有延迟
            "isReissue":0,//是否补发 0否 1 是(当当前成功上传后,会 尝试把失败的也上传下)
            "host":"http://192.168.0.122:9801" //自己服务器地址 这个是我本地的演示
        },
        (ret) => { //通话状态监听回调函数
            console.log(ret)
        })
{ //电话挂断后回调返回,重点关注 callId
    code: 1,
    msg: "挂断",
    phone: "10010",
    callId: "kdlkdjjskkdskllkdsll",
    log: {} //通话记录
}
- 拨打电话
 
app.$call.callPhone({
                "phone": "10010"
            },
            (ret) => {
                console.log(ret)
            })
- 上传录音(电话挂断后调用)
 
app.$call.upload({
            "param":{ //上传到服务器的参数 根据自己的后端接口定 这里举例了两个
                "param1":"1",
                "param2":"2",
            },
            "callId":this.callId, // 电话挂断监听获取到的通话id
            "uploadUrl":"http://192.168.0.122:9801/call/upload", //上传录音的地址
        },
        (ret) => {
            console.log(ret)
        })
- 获取最近100条录音上传记录
 
app.$call.getList(
            (ret) => {
                console.log(ret)
            })
- 检测手机是否开启自动录音(目前支持 华为 小米 oppo vivo 一加 其他型号手机没有那么多测试机)
 
app.$call.checkAutoRecord((ret) => {
                console.log(ret)
            })
- 跳转自动录音设置页面(目前支持 华为 小米 oppo vivo 其他型号手机没有那么多测试机)
 
app.$call.startRecordSet()
- 获取手机信息
 
app.$call.getPhoneInfo((ret) => {
                console.log(ret)
            })
- 获取日志文件路径
 
app.$call.getLogDir((ret) => {
                console.log(ret)
            })
- 不同手机,录音文件及配置参数是不一样的 这里给个参考吧 复制的demo的配置
 
小米
{
    _uploadCall: app.$call,
    _host: "http://192.168.0.230:9801", //更换为自己的域名
    _filePath: "/MIUI/sound_recorder/call_rec", //建议后端提供配置信息,不同型号的手机,录音地址可能不一样, 前端获取手机型号 后端返回录音地址
    _scanFileType: "1", // 0文件名称扫描  1 时间匹配
    _scanFileTimeType: 0, //扫描时间匹配方式 0 通过最后修改时间  1 通过创建时间
    _timeSpan: 20,  // 匹配文件时间误差值(秒)
    _uploadFileType: "0", // 0 只有通过软件拨打的电话会上传  1 所有电话(不建议)
    _delayMillis: 1000, //延迟多少毫秒
    _isReissue:0, //是否补发 0否 1 是(当当前成功上传后,会 尝试把失败的也上传下)
    _isLog:0,//是否开启日志 0不开启 1 开启 日志损耗一定的性能 建议关闭 此参数是为插件作者协助排查问题追加
}
红米
{
    _uploadCall: app.$call,
    _host: "http://192.168.0.230:9801", //更换为自己的域名
    _filePath: "/MIUI/sound_recorder/call_rec", //建议后端提供配置信息,不同型号的手机,录音地址可能不一样, 前端获取手机型号 后端返回录音地址
    _scanFileType: "1", // 0文件名称扫描  1 时间匹配
    _scanFileTimeType: 1, //扫描时间匹配方式 0 通过最后修改时间  1 通过创建时间   红米手机特色
    _timeSpan: 61,  // 匹配文件时间误差值(秒)  红米手机记录是没有秒的 所以匹配误差需要大于1分钟
    _uploadFileType: "0", // 0 只有通过软件拨打的电话会上传  1 所有电话(不建议)
    _delayMillis: 3000, //延迟多少毫秒 低端手机建议设置稍微长一点,生成录音文件需要时间,性能越好这个值可以设置的越低
    _isReissue:0, //是否补发 0否 1 是(当当前成功上传后,会 尝试把失败的也上传下)
    _isLog:0,//是否开启日志 0不开启 1 开启 日志损耗一定的性能 建议关闭 此参数是为插件作者协助排查问题追加
}
华为
{
    _uploadCall: app.$call,
    _host: "http://192.168.0.230:9801", //更换为自己的域名
    _filePath: "/Sounds/CallRecord", //建议后端提供配置信息,不同型号的手机,录音地址可能不一样, 前端获取手机型号 后端返回录音地址
    _scanFileType: "1", // 0文件名称扫描  1 时间匹配
    _scanFileTimeType: 0, //扫描时间匹配方式 0 通过最后修改时间  1 通过创建时间
    _timeSpan: 20,  // 匹配文件时间误差值(秒)
    _uploadFileType: "0", // 0 只有通过软件拨打的电话会上传  1 所有电话(不建议)
    _delayMillis: 1000, //延迟多少毫秒
    _isReissue:0, //是否补发 0否 1 是(当当前成功上传后,会 尝试把失败的也上传下)
    _isLog:0,//是否开启日志 0不开启 1 开启 日志损耗一定的性能 建议关闭 此参数是为插件作者协助排查问题追加
}

                                                                    
                                                                        收藏人数:
                                    
                                                        购买(
                                                                                                                试用
                                                    
                                            使用 HBuilderX 导入示例项目
                                        
                                        赞赏(0)
                                    
                                            
 下载 324
                
 赞赏 0
                
            
                    下载 12286 
                
            
            
            
            
            
            
            
            
            
            
                        赞赏 7 
                    
            
            
            
            
                        
                                赞赏
                            
            
京公网安备:11010802035340号