从麦克风录制的音频是语音通话过程中静音(Audio recorded from microphone

2019-07-30 17:48发布

我试图建立应用程序,它记录了从麦克风为后来的音频处理。

一切都运行得相当好,但存在如下问题:在语音呼叫期间(进出)的记录文件中获取任何音频数据,它仅包含空值。

我使用AudioRecorder和MediaRecorder,都有同样的问题。 现在的问题是,如果这是正常的API行为或者我失去了一些东西?

这里是一些额外的信息:权限:

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

SDK:的minSdkVersion = “9” targetSdkVersion = “15”

我在Nexus S采用果冻豆测试我的应用程序。

提前致谢!

PS。如果有人需要更具体的细节,请让我知道。

编辑

OK,所有的回答表明,这是一种正常的行为,但我仍然感到困惑,因为我可以找到很多的应用程序,记录语音呼叫,使用麦克风。 录制语音通话是不是我的本意,但我想我可以使用,即使在语音通话的麦克风。 有什么建议?

编辑

我只是测试上的Galaxy S姜饼的应用和它的工作! 现在我真的很困惑,并开始理解什么词“切分”是指...

Answer 1:

我不会把这种正常的,但你在这里输入特定于平台的行为。 与录制AudioSource.MIC语音通话时将工作在某些设备上,而不是别人。

仅举,我已经对为什么这个功能可能已经禁用碰上自己的几个原因:

  • 有些平台只支持单一的采样率在任何特定时间捕获麦克风音频。 而且,由于语音通话比别的优先(这手机毕竟)和语音通话需要8或16 kHz采样率,约当你有一个正在进行中的记录进行语音通话的开始可能是简单地做什么决定静音录音,让您的录音是不是充满了8 kHz的数据时,你的应用程序认为它越来越44.1千赫的例子。

  • 如果您在语音通话过程中留下记录空闲(停止,但没有公布)有些平台可能会停止从麦克风传送音频数据,有效地屏蔽了语音呼叫上行。 为了避免这种情况,供应商可能刚刚决定,在语音通话过程录音实际上不会被路由到任何输入设备,而只是用零来填充。

免责声明:我没有与Nexus S的工作,所以我不知道是什么原因是,特定的设备上。



Answer 2:

我相信这是正常的行为,音频数据,同时呼叫接通绝不会通过应用处理器的Android运行进行处理。 通常情况下,音频芯片组将其切换到流从现代到来。



Answer 3:

从理论上讲,你可以从调用本身(http://stackoverflow.com/questions/4194342/how-can-i-record-voice-and-record-call-in-android)饲料,但大多数厂商显然不支持这一点。



文章来源: Audio recorded from microphone is muted during the voice call