Android音频系统学习笔记

1、配置文件/system/etc/asound.conf

        alsa体系提供了这样一种机制:应用层直接改变音频codec的寄存器,具体而言:linux驱动中创建snd_kcontrol_new控制结构,并关联到codec寄存器,asound.conf文件通过控制结构名字,就能关联到寄存器,从而改变寄存器的值。asound.conf文件主要用来做Android音频的路由控制:不同路由可以设置多个寄存器的不同配置组合,形成不同的音频通道,从而当路由改变时,底层codec通道随之改变。

        配置文件:

        /etc/asound.conf(简易配置) :

        {{{

              pcm.!default{

                  type hw

                  card 1

                  devive 7

                }  

              ctl.!default{

                  type hw

                  card 1

                  device 7

                 }  

        }}}

        其中card代表声卡号, device代表设备号, asound.conf的配置极其强大和复杂,详情可查阅http://www.alsa-project.org/main/index.php/Main_Page

        card, device必须对应hdmi的声卡号和设备号,可以使用aplay -l查看对应的hdmi设备,可能会有出现多个hdmi设备,确定当前可以使用的hdmi设备的方法如下:

#. cat /proc/asound/cards 查看nvidia设备对应的ID号(假设=1)

#. alsamixer -c 1 打开声音设置,其中<S/PDIF>即为HDMI输出,“MM”代表静音,alsa在每次重启声音设备时都会默认为静音,所以必须首先打开音量再进行后续的操作。

#. alsactl store 保存上述配置

#. aplay -D hw:1,7  /usr/share/sounds/alsa/test.wav  "hw后的1代表声卡号,7代表设备号,需要根据aplay -l的输出来确定这两个数字"找到对应的hdmi输出口。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值