【发布时间】:2013-01-10 05:01:55
【问题描述】:
我正在开发一个 Android 应用程序,它使用 AudioRecord API 在 PCM 中录制音频。我想根据用户在设置中的选择将麦克风灵敏度调整为低、中和高。
是否可以调整麦克风灵敏度?您的回答将不胜感激:)
【问题讨论】:
标签: android android-audiomanager android-audiorecord
我正在开发一个 Android 应用程序,它使用 AudioRecord API 在 PCM 中录制音频。我想根据用户在设置中的选择将麦克风灵敏度调整为低、中和高。
是否可以调整麦克风灵敏度?您的回答将不胜感激:)
【问题讨论】:
标签: android android-audiomanager android-audiorecord
不是真的。通过使用不同的AudioSources,通常可以隐式地获得至少两种不同的“灵敏度”(平台使用的声学调谐)。
至少应该有一种用于手机录音的调谐和一种用于远场录音的调谐。在某些设备上,您可能还具有不同的远场调谐,例如一种用于在几米外录制音频,另一种用于在几米外录制音频。
问题是您无法真正知道哪个 AudioSource 对应于哪个调音,因为它没有标准。 CAMCORDER 通常表示远场,VOICE_RECOGNITION 通常表示手机模式,但不能保证。您还应该记住,供应商通常会应用您作为用户/应用程序开发人员无法禁用的自动增益控制、降噪等,以满足其产品的声学要求。
您最好的选择可能是使用单个 AudioSource,然后在您的应用中衰减信号以模拟较低的麦克风灵敏度。您也可以进行放大,但这类似于在相机应用程序中使用数字变焦(它可以工作,但看起来并不那么好,因为您只是在缩放现有数据)。
【讨论】: