2012-11-21 57 views
1

我目前正在开始编写Android软件,该软件即将测量封闭房间的混响时间。

我不得不选择AudioRecord而不是MediaRecorder,因为它使我有机会获取原始数据。

你可能知道,有许多不同的恒定从选择AudioFormat(如:CHANNEL_IN_MONOCHANNEL_IN_STEREOCHANNEL_IN_PRESSURE),你可知道,在Android智能手机有不只是嵌入一个麦克风多个(通常你有2个麦克风它,为了有噪音消除和类似的东西)。AudioRecord:AudioFormat常量和麦克风选择

问题来了:我必须选择哪个常数来确保只有一个麦克风能够提供原始数据?

回答

1

如果您进行单声道录音,设备应该只能从一个麦克风进行录音。我不确定您的“原始”数据是什么意思。总会有一些声学补偿处理完成(例如自动增益控制,均衡等),这不是您可以关闭的。

有一件事情也会影响录音是你选择的AudioSource。如果您在具有2个或更多麦克风的手机上选择CAMCORDER,如果您进行单声道录制,您通常会获得远场麦克风。如果您选择MIC/DEFAULT,您应该获得主麦克风,但可能会根据供应商对近场录制或远场录制进行调整(我怀疑如果您尝试进行远场调谐测量房间混响)。

+0

对不起,我的原始数据是指未压缩的.wav样本。我知道不幸的是,总是有一些自动控制开启。我也注意到了不同的Android设备之间非常不同的行为:HTC有我见过的最差的AGC,用这些设备做任何音频专业应用程序是不可能的。无论如何,谢谢你的近场/远场解释,非常有用 – Stefano