我注意到android.media.AudioRecord
使用错误时无法正常工作sampleRateInHz
复制
您还可以使用 Samsung Nexus S(由 Google 提供)上的 pcmrecorder 轻松重现该问题:
https://market.android.com/details?id=com.kohei.android.pcmrecorder
http://ko-yasui.com/home/pcmrecorder/
所以它无法以 48Khz 录制,而硬件音频芯片支持高达 96KHz:
http://www.wolfsonmicro.com/products/audio_hubs/WM8994/
这是设备/固件错误还是已知限制?
注意android平台只保证44100Hz左右(连24KHz也不行)
http://developer.android.com/reference/android/media/AudioRecord.html
sampleRateInHz
:以赫兹表示的采样率。44100Hz 是目前唯一保证适用于所有设备的速率,但其他速率(例如 22050、16000 和 11025)可能适用于某些设备。
源代码
您可以在以下位置找到重现这些问题的示例代码:
https://github.com/rzr/rzr-android-test/blob/api-android-media/src/fr/online/rzr/test/
曲目
如何克服这个限制?
可以使用任何其他 API 吗?开放式,阿尔萨,开放式?如何 ?
可以从用户端重新配置 alsa 驱动程序以能够在 44100Hz 以上采样吗?( .asoundrc )
是否可以在不重新刷新/生根/重启设备的情况下做这样的事情
否则如何解决这个问题?使用本机代码有效地进行上采样(插值)?