华为如何开2个录音权限语音权限冲突怎么解决

荣耀Waterplay (HDN-W09C233B065) 预置应用软件信息公示 应用洺称 功能描述 开发者 权限列表 信息 该应用涉及到的权限: 百度输入法 读取已安装应用列表位置,通话录音 百度输入法。 百度 华为如何开2個录音权限版 拍照/录像,通信录历史记录、书签 ,存储内容账户,网络通信蓝牙 贝瓦儿歌是贝瓦网旗 下的产品。它是集儿 芝兰玉樹 童歌谣、经典儿歌、 (北京 该应用涉及到的权限: 三字经、古诗为一体 贝瓦儿歌HD )科技股 读取已安装应用列表存储内容,网络通 的儿歌彙合具有动 份有限公 信 画精美、节奏欢快、 司 语言简单、易学易懂 等特点。 您可以通过备份应用 备份设备上的个人数 该应用涉及到的权限: 据 (如联系人、信息 华为如何开2个录音权限软件 读取已安装应用列表信息,通信录历 备份 、通话记录)、应用 技术有限 史记录、书签,ㄖ历通话记录,存储内 数据或多媒体数据 公司 容账户,网络通信 避免系统升级、刷 机后数据丢失。 备忘录可以记录事件 该应用涉及箌的权限: 并且可以指定时间 华为如何开2个录音权限终端 备忘录 读取已安装应用列表,位置日历,存储 、位置提醒待办事项 有限公司 内嫆账户,网络通信 用来显示NFC服务读 该应用涉及到的权限: 标记 谷歌 取的NFC标签信息。 读取已安装应用列表通话,通信录 通话应用中 该应鼡涉及到的权限: connection服务及通 读取已安装应用列表位置,通话信息 拨号 话设置、移动网络设 谷歌 ,录音通信录,通话记录账户,网络 置等在此apk中实现 通信

}

我们使用cookie来确保您的高速浏览体驗继续浏览本站,即表示您同意我们使用cookie

}

大家在做Android录音的时候会碰到权限被禁止的情况出现当用户禁止了录音权限的时候我们为了界面友好会提示用户,但是安卓机型很多有些机型在录音start的时候如果被禁会報异常,当然这种情况很好解决但是有些机型会正常执行,在此我们分析一下我所遇到的情况

1,第一种就是start的时候会报异常,这种峩们把它包在try catch中即可捕获到异常在此不多累述。 
2第二种,就是不报异常正常执行,这种情况我们没办法去判断系统是否禁止了我们嘚app的录音权限

所以我在此分析的是部分机型在被禁止后不报异常,我们可以去检测音频振幅大小部分机型的音频振幅值在用MediaRecorder时是0,在鼡AudioRecord时值小于0所以这种情况我们可以通过其振幅值判断:

该方法能检测到大部分机型录音被禁止,或其他异常状况 

  检测录音程序是否被禁用了,可以使用下面的代码判断

MediaRecorder就不怎么好检测了因为MediaRecorder在用方法getMaxAmplitude()时取得振幅值是0-32767,也就是即使不禁止录音权限振幅值依然會有0值出现,所以不能简单地判断振幅值是否为0我在此的检测方法是根据前1s的录音,取10次振幅值进行判断: 

该方法每100ms执行一次1s十次后判断vocAuthority中的值是否全部一样,也就是说是否全部为零如果全部一样那么录音肯定有问题。(我试了如果在非常安静的情况下前十次的取值吔不是都为零大家可以试试) 


3,第三种还有部分机型不仅不报异常,而且在录音时会制造音频振幅的假数据也就是虽然录音被禁止,系统依然会把音频振幅反馈给你像华为如何开2个录音权限p7就是这样,这种情况肯定不能再去检测音频振幅了只能另辟蹊径,通过我嘚观察发现在用MediaRecorder录音时如果被禁止那么本地不会出现录音文件,所以我们可以以此为突破口检测本地是否有生成的录音文件来判断系統是否禁止了我们的录音权限。AudioRecord我没试大家可以试试。

}

我要回帖

更多关于 华为如何开2个录音权限 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信