Linux音频配置文件asound.conf的使用

asound.conf文件作用:主要用来做Android/Linux音频的路由控制,不同路由可以设置多个寄存器的不同配置组合,形成不同的音频通道,从而当路由改变时,底层codec通道随之改变。

// 如何获取当前的声卡卡号与设备号呢 ...


// aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC662 rev3 Analog [ALC662 rev3 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

// 以上信息可以直接看到 Card 声卡编号为 0
// 以上信息可以看到设备 Device 0, 3, 7, 8
// 以上信息可以看到 0 为 ALC662(模拟), 3,7,8为HDMI
// 但是如果使用HDMI设备,结果看到三个Device怎么才能知道哪个是当前的设备呢 ...
// 可以使用 aplay 来测试, 哪个出声音就是哪个了 ...
aplay -D hw:0,3 /usr/share/sounds/alsa/test.wav
aplay -D hw:0,7 /usr/share/sounds/alsa/test.wav
aplay -D hw:0,8 /usr/share/sounds/alsa/test.wav

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

    {
      pcm.!default{
          type hw
          card 1
          device 7
        }  

      ctl.!default{
          type hw
          card 1
          device 7
         }  
    }}}
// 其中card代表声卡号, device代表设备号。
// 更加简易配置

defaults.pcm.card 0   
defaults.pcm.device 3
defaults.ctl.card 0

// 特殊的静音情况 MM
// 通过 alsamixer 来打开/关闭静音设备,与调节音量等 ...
alsamixer -c 1
alsactl store