Dragonboard 410c blueteeth-mic问题

来源:互联网 发布:java项目开发实例 编辑:程序博客网 时间:2024/06/05 05:18

      先说一下这次博客的背景,在做一个小玩意,但是这个小玩意用到了语音识别,如果按照Dragonboard 410c的参考设计直接焊接一个mic就可以了,但是问题就出在这了,mic录的声音中噪声太大,有时完全听不清说的什么,可想而知,语音识别完全识别不了,经过分析应该是mic本身的质量不好导致的,所以打算换个mic或者其他的录音方式,最终决定用蓝牙耳机输入。

     前面噪声大的问题应该可以解决了吧,于是用蓝牙耳机进行测试,现在来说说蓝牙耳机调试过程中遇到的问题。

     1.蓝牙耳机连接上开发板后进行录音,在播放的时候发现没有声音,于是怀疑源代码中是不是没有做蓝牙录音或者播放的功能,于是打算去源代码中看看,但是最后一次录音的时候发现一个细节,录音的过程中指针是在动的,虽然幅度比较小,所以猜测是有声音录进去的,其次,由于自己想的是蓝牙录音,speaker输出声音,所以在录音的过程中只是对着蓝牙耳机说话,并没有戴在耳朵上。于是作出了如下两个假设

    (1)通过蓝牙耳机录制声音成功,但是播放的时候是通过蓝牙耳机播放的,并不是speaker。

    (2)播放的时候是有声音的,但是声音很小,以致听不到。

     问题解决:

     首先戴着耳机听了一下,好像是有的声音,但不能十分确定,于是通过修改代码将录制的声音增大。

     首先查看log信息:

      可以知道blueteeth-mic走的是“handset-mic”

498     <path name="handset-mic">                                                                     
  1         <path name="adc1" />
  2         <ctl name="IIR1 INP1 MUX" value="DEC1" />
  3     </path>

      接下来就是曾大音量了

     设备中相应的文件路径:/system/etc/mixer_paths_sbc.xml

    找到下面一行,我将值设为了最大,发现有声音了。

     <ctl name="DEC1 Volume" value="100" />


    2.第一个问题终于解决了,问题很简单但是绕了点远,现在是第二个问题,蓝牙耳机录进去的声音,播放的时候也是通过耳机播放出来的,但我需要通过speaker播放出来,这个问题看了一下,但是还没找到解决方法,所以问题先放在这,后面解了再添加上。