linux alsa配置

1 查看系統audio設備

查看audio設備摘要信息

1 $ aplay -l

可能的輸出: html

**** List of PLAYBACK Hardware Devices ****
card 0: Intel [HDA Intel], device 0: ALC662 rev1 Analog [ALC662 rev1 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 1: ALC662 rev1 Digital [ALC662 rev1 Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 7: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 8: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 9: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

查看audio詳細信息

1 $ aplay -L

可能輸出: git

null
    Discard all samples (playback) or generate zero samples (capture)
front:CARD=Intel,DEV=0
    HDA Intel, ALC662 rev1 Analog
    Front speakers
surround40:CARD=Intel,DEV=0
    HDA Intel, ALC662 rev1 Analog
    4.0 Surround output to Front and Rear speakers
surround41:CARD=Intel,DEV=0
    HDA Intel, ALC662 rev1 Analog
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=Intel,DEV=0
    HDA Intel, ALC662 rev1 Analog
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=Intel,DEV=0
    HDA Intel, ALC662 rev1 Analog
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=Intel,DEV=0
    HDA Intel, ALC662 rev1 Analog
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=Intel,DEV=0
    HDA Intel, ALC662 rev1 Digital
    IEC958 (S/PDIF) Digital Audio Output
hdmi:CARD=NVidia,DEV=0
    HDA NVidia, HDMI 0
    HDMI Audio Output
hdmi:CARD=NVidia,DEV=1
    HDA NVidia, HDMI 0
    HDMI Audio Output
hdmi:CARD=NVidia,DEV=2
    HDA NVidia, HDMI 0
    HDMI Audio Output
hdmi:CARD=NVidia,DEV=3
    HDA NVidia, HDMI 0
    HDMI Audio Output

2 配置文件

最簡單的/etc/asound.conf格式以下(用戶配置文件爲~/.asoundrc): ide

1 defaults.ctl.card 0
2 defaults.pcm.card 0
3 defaults.timer.card 0
4  
5 pcm.!default {
6         typehw
7         card 0
8         device 0
9 }
10  
11 ctl.!default {
12         typehw
13         card 0
14         device 0
15 }

其中card和device的肯定從aplay -l命令獲得。對比aplaya -l的輸出,能夠看到上面的配置文件使用了Intel的音頻設備。 測試

2.1 設置默認輸出設備

首先根據aplay -l的輸出來肯定聲卡ID和設備ID spa

把Intel模擬輸出做爲默認audio輸出設備

1 defaults.ctl.card 0
2 defaults.pcm.card 0
3 defaults.timer.card 0
4  
5 pcm.!default {
6         typehw
7         card 0
8         device 0
9 }
10  
11 ctl.!default {
12         typehw
13         card 0
14         device 0
15 }

另外一種簡化格式: rest

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

把Nvidia HDMI數字輸出做爲默認audio輸出設備

1 defaults.ctl.card 1
2 defaults.pcm.card 1
3 defaults.timer.card 1
4  
5 pcm.!default {
6         typehw
7         card 1
8         device 7
9 }
10  
11 ctl.!default {
12         typehw
13         card 1
14         device 7
15 }

另外一種簡化格式: code

1 defaults.pcm.card 1
2 defaults.pcm.device 7
3 defaults.ctl.card 1

3 測試audio設備

測試指定audio設備

1 $ speaker-test-D front:Intel -c2 -r44100 -FS16_LE -twav

或者 htm

1 speaker-test-c 2 -r 48000 -D hw:1,7

測試默認audio設備

1 $ speaker-test-c2 -r44100 -FS16_LE -twav

4 調節audio設備

1 $ alsamixer -c 0 <---[聲卡編號]

5 配置文件的保存和還原

1 $ alsactl store -f /var/lib/alsa/asound.state
2 $ alsactl restore -f /var/lib/alsa/asound.state

6 一些其它問題

怎樣改變聲卡的識別順序

能夠編輯/etc/modprobe.d/50-sound.conf文件,好比: get

1 options snd slots=snd-hda-intel,snd-hda-intel
2 # u1Nb.XgOz+05oSl4:Intel Corporation
3 aliassnd-card-0 snd-hda-intel
4 # NXNs.vUieta7noB9:nVidia Corporation
5 aliassnd-card-1 snd-hda-intel
6  
7 options snd-hda-intel index=1,0

這裏須要關心的是最後一行的index=1,0
重啓機器後使用命令 cat /proc/asound/cards 參看輸出: it

0 [NVidia         ]: HDA-Intel - HDA NVidia
                      HDA NVidia at 0xeb000000 irq 17
 1 [PCH            ]: HDA-Intel - HDA Intel PCH
                      HDA Intel PCH at 0xeb300000 irq 42
ftp://download.nvidia.com/XFree86/gpu-hdmi-audio-document/gpu-hdmi-audio.html
相關文章
相關標籤/搜索