Android 录音没有声音,设置AudioSource.VOICE_CALL直接MediaRecorder.start异常等系列问题

Android 录音没有声音,设置AudioSource.VOICE_CALL直接MediaRecorder.start异常等系列问题

一、我的需求:来电后,我的三方应用主动开启录音,挂断后结束录音,查验音频

我遇到的问题:录制的音频没有声音。

通过各种尝试,结果如下 :设置不同的录音来源的效果

MediaRecorder API\创建MediaRecorder

正常情况创建

两个应用同时创建

来电时创建

备注

MediaRecorder.AudioSource.DEFAULT

音频有声音

后者start异常

音频无声音

默认音频源

MediaRecorder.AudioSource.MIC

音频有声音

后者start异常

音频无声音

设定录音来源为主麦克风

MediaRecorder.AudioSource.VOICE_CALL

start异常

start异常

start异常

设定录音来源为语音拨出的语音与对方说话的声音

二、暂时的结论是:录制来电语音.音频来源于VOICE_CALL ,而该来源需要CAPTURE_AUDIO_OUTPUT权限,该权限仅授予系统应用程序,而不授予第三方应用程序

三、试错过程中遇到的问题以及解说

1.未申请权限,动态申请或者权限标签用错了,permission 改成 uses-permission

2.音频来源设置

MediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC)

以上方法参数就是选择录音源的,其可选参数如下:

MediaRecorder.AudioSource.CAMCORDER

设定录音来源于同方向的相机麦克风相同,若相机无内置相机或无法识别,则使用预设的麦克风

MediaRecorder.AudioSource.DEFAULT 默认音频源

MediaRecorder.AudioSource.MIC

设定录音来源为主麦克风。

MediaRecorder.AudioSource.VOICE_CALL

设定录音来源为语音拨出的语音与对方说话的声音

MediaRecorder.AudioSource.VOICE_COMMUNICATION

摄像头旁边的麦克风

MediaRecorder.AudioSource.VOICE_DOWNLINK

下行声音

MediaRecorder.AudioSource.VOICE_RECOGNITION

语音识别

MediaRecorder.AudioSource.VOICE_UPLINK

上行声音

3.设置MediaRecorder.AudioSource.VOICE_CALL异常,尝试直接CAPTURE_AUDIO_OUTPUT权限申请不通过

MediaRecorder.AudioSource.VOICE_CALL 源需要CAPTURE_AUDIO_OUTPUT权限,该权限仅授予系统应用程序,而不授予第三方应用程序 .

4.同一时间只看开启一个MediaRecorder

实验证明,一台手机同一时间不能创建两个MediaRecoder,一个应用先创建MediaRecorder,另一个应用创建就会异常

当我的应用提前创建了MediaRecorder并且start后,系统通话录音应用也会有影响,

以小米手机为例,miui12.0.6 系统,先开启我的应用录音,系统电话界面的录音我们手动开启,显示可以录音,但打完电话后,查看实际录音文件,录音时长只有一秒,且没声音。

5.当开启电话,使用MediaRecorder设置任何录音source,音频都没有什么声音

应该是来电音频来源在Voice_call上, 但三方应用又没有设置该来源Voice_call的权限、

猜你喜欢 💖

艾尔之光刷图职业 艾尔之光:高效刷图职业深度解析
beat365亚洲体育官网

艾尔之光刷图职业 艾尔之光:高效刷图职业深度解析

📅 09-18 👁️ 8115
绝地潜兵2爆裂铳如何搭配武器
beat365官方app下载手机版

绝地潜兵2爆裂铳如何搭配武器

📅 08-08 👁️ 1834
QQ浏览器怎么打开阅读模式?使用阅读模式方法介绍_
beat365亚洲体育官网

QQ浏览器怎么打开阅读模式?使用阅读模式方法介绍_

📅 10-09 👁️ 5021