Har*_*ger 14 api android audio-recording
如何在android.media.AudioRecord没有任何智能手机制造商相关的花式信号处理的情况下进行录音,如自动增益控制(AGC)和/或均衡,噪声抑制,回声消除,......只是纯麦克风信号?
MediaRecorder.AudioSource 提供九个常数,
DEFAULT并且MIC最初在那里,VOICE_UPLINK,VOICE_DOWNLINK并VOICE_CALL在API级别4中添加,CAMCORDER并VOICE_RECOGNITION在API 7中添加,VOICE_COMMUNICATION 在API 11中添加,REMOTE_SUBMIX 在API 19中添加但不适用于第三方应用程序.但是他们都没有在所有智能手机上做得干净.相反,我必须自己发现,哪个设备使用哪种信号处理块组合为MediaRecorder.AudioSource常数.
如果PURE_MIC在API级别20中添加第十个常量会很高兴.
但只要没有,我可以做些什么呢?
简短的回答是"没什么".
AudioSources对应于各种逻辑音频输入设备,具体取决于您连接到手机的附件和当前用例,而后者又与物理设备(主要内置麦克风,辅助麦克风,有线耳机麦克风等)相对应.用不同的调音.
物流设备和调谐的每个这样的组合由OEM修整,以满足外部要求(例如CTS,操作员要求等)和OEM本身设定的内部声学要求.此过程可能会导致各种滤波器(如AGC,噪声抑制,均衡等)进入硬件编解码器或多媒体DSP级别的音频输入路径.
虽然某个PURE_MIC源可能对某些应用程序有用,但它并不是今天可用的.
在许多设备上,您可以通过使用amixer写入硬件编解码器的ALSA控件来控制麦克风增益,甚至可能是过滤器链.但是,这显然是一种非常特定于平台的方法,我还怀疑你必须以root用户或音频用户身份运行才能执行此操作.
| 归档时间: |
|
| 查看次数: |
15002 次 |
| 最近记录: |