RzR*_*RzR 5 android alsa sample-rate audiorecord nexus-s
我注意到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/
因此,当硬件音频芯片支持高达96KHz时,它无法以48Khz记录:
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吗?opensl,alsa,openal?如何 ?
alsa驱动程序可以从用户端重新配置,以便能够在44100Hz以上采样?(.asoundrc)
是否可以在不重新刷新/生根/重启设备的情况下执行此类操作
否则如何解决这个问题?使用本机代码有效地进行上采样(插值)?
小智 2
Nexus 支持的最大采样率为 44.1 kHz,当 Android 平台请求将采样率设置为 48 或更高时,音频硬件会抛出错误。为了回答您的问题,采样率的限制取决于您运行程序的特定硬件。我在我的 Nexus 上尝试了你的代码,得到了与你相同的结果,但如果我在我的旧 mytouch 3g 上尝试它,最大采样率可能是 22.05 kHz。基本上,您需要在初始化音频配置时检查支持的采样率范围。
| 归档时间: |
|
| 查看次数: |
6081 次 |
| 最近记录: |