当使用错误的sampleRateInHz时
复制
您也可以轻松复制该问题
在Samsung Nexus S上使用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
@H_301_37@
sampleRateInHz
: the sample rate expressed in Hertz. 44100Hz is currently the only rate
that is guaranteed to work on all devices,but other rates such as 22050,16000,and 11025 may work on some devices.源代码
您将找到一个示例代码来重现这些问题:
https://github.com/rzr/rzr-android-test/blob/api-android-media/src/fr/online/rzr/test/
TRACKS
如何克服这个限制?
>可以使用任何其他API吗? opensl,alsa,openal?如何 ?
>可以从用户端重新配置alsa驱动程序
能够在44100Hz以上采样? (.asoundrc)
>有可能做这样的事情
无需重新刷新/生根/重启设备
>否则如何解决这个问题?
使用本机代码有效地进行上采样(插值)?更多
http://www.anddev.org/multimedia-problems-f28/how-to-set-audio-sampling-rate-higher-than-44-1hz-nexuss-t54722.html
http://en.androidwiki.com/wiki/Nexus_S
解决方法 nexus支持的最大采样率为44.1 kHz,当AndroID平台请求将采样率设置为48或更高时,音频硬件会抛出错误.要回答您的问题,采样率的限制取决于您运行程序的特定硬件.我在我的nexus s上尝试了你的代码并获得了与你相同的结果,但是如果我在旧的mytouch 3g上尝试它,最大采样率可能是22.05 kHz.基本上,您需要检查初始化音频配置时支持的采样率范围. 总结以上是内存溢出为你收集整理的如何在linux / android平台上设置高于44.1kHz的音频采样率?全部内容,希望文章能够帮你解决如何在linux / android平台上设置高于44.1kHz的音频采样率?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)