加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

如何在linux / android平台上设置高于44.1kHz的音频采样率?

发布时间:2020-12-14 02:12:18 所属栏目:Linux 来源:网络整理
导读:我注意到 android.media.AudioRecord无法正常工作 当使用错误的sampleRateInHz时 复制 您也可以轻松复制该问题 在Samsung Nexus S上使用pcmrecorder(谷歌): https://market.android.com/details?id=com.kohei.android.pcmrecorder http://ko-yasui.com/home
我注意到 android.media.AudioRecord无法正常工作
当使用错误的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

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.基本上,您需要检查初始化音频配置时支持的采样率范围.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读