X86 Android操作系统参数最终在s3c24xx_pcm_hw_params中修改DMA配置所用,Android录音失真的相关解决办法在这里给大家进行分享,因此可以在使用的过程当中感受到趣味性和吸引力。
在设置界面,X86 Android操作系统拥有了更多的手机影子,例如手机存储、关于手机等字样的出现,不难看的出来源于手机的血统。在对X86 Android操作系统使用之后,可以说用Google仍需努力来形容。Google所提倡的简单实用的设计理念着实为上网本产品提供了另外一种解决方案。
至于需要努力的方向,从本次试用来看,例如在邮件收发过程中对于附件的支持不够好。部分菜单依然是英文界面,对于国内用户使用起来略有不便。部分功能需要基于SIM卡进行操作。
这些期待只能留给更新版本的X86 Android操作系统来解决了。我们曾经在一篇文章中为大家详细介绍过有关Android多媒体录制功能的一些实现方法。其中就包括对录音的实现方法。
今天我们可以通过这篇文章介绍的内容详细了解Android录音失真的具体解决方法,以帮助大家解决实际应用中出现的问题。在6410+WM9714的Android平台上测试MIC IN录音功能,出现一个BUG。在该平台声音播放是完全正常的,但是录音后再播放刚录的声音,会有失真。
同样的录音文件在电脑上播放也一样,说明是Android录音失真的问题。后来通过打印9714的寄存器,发现录音频率是8000HZ。放音频率是44100HZ,这时基本上可以确定是由这个不匹配引起的。 我在Android代码里:AudioHardwareALSA.cpp文件中的函数中设定采样率,如下:
- AudioStreamInALSA::AudioStreamInALSA(AudioHardwareALSA *parent) :mParent(parent)
- { static StreamDefaults _defaults = { .................... sampleRate :
- AudioRecord::DEFAULT_SAMPLE_RATE, .................... }; }
但是重烧程序后结果仍然存在Android录音失真这一问题,采样率还是8000,似乎被其他地方把值覆盖了。后来我试着把所有的采样率8000的地方全都改成44100,结果仍然一样是8000。到底是不是采样率的原因引起的呢?
之后用X86 Android操作系统来录音,前提是不能进入Android,否则音频设备会被占用。结果录得的声音播放时仍然是同样的效果,当时估计这问题应该跟Android上层没有什么大的关系。
后来别人有试通过将播放速度加快一倍,就得到的正常的播放音,但问题是仍然不知从何处来解决这个问题。后来经过台湾同事的挖掘,改动录音MIC IN的DMA SIZE解决了此次问题。改动列出如下,原因尚待分析。
但是重烧程序后结果仍然存在Android录音失真这一问题,采样率还是8000,似乎被其他地方把值覆盖了。后来我试着把所有的采样率8000的地方全都改成44100,结果仍然一样是8000。到底是不是采样率的原因引起的呢?
之后用arecord命令来录音,前提是不能进入Android,否则音频设备会被占用。结果录得的声音播放时仍然是同样的效果,当时估计这问题应该跟Android上层没有什么大的关系。
后来别人有试通过将播放速度加快一倍,就得到的正常的播放音,但问题是仍然不知从何处来解决这个问题。后来经过台湾同事的挖掘,改动录音MIC IN的DMA SIZE解决了此次问题。改动列出如下,原因尚待分析。
【编辑推荐】