如何判斷我的系統預設聲音輸出是卡 2 和裝置 0,而不是卡片 2 裝置 3、7 或 1?
我這樣做了,但是沒有聲音。
$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Device [C-Media USB Audio Device], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: PCH [HDA Intel PCH], device 0: ALC892 Analog [ALC892 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: PCH [HDA Intel PCH], device 1: ALC892 Digital [ALC892 Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]
Subdevices: 0/1
Subdevice #0: subdevice #0
$ cat /etc/asound.conf
#pcm.!default {
# type plug;
# slave { pcm "hw:2" }
#}
pcm.!default {
type hw
card 2
device 0
}
答案1
如果您發現您的音效卡不斷切換索引,您將無法defaults.pcm.card 2
在/etc/asound.conf
.一種(複雜的)方法可能有效,那就是使用您想要的優先順序配置聲音核心模組。
這種方法描述於Debian 錯誤 #614113:
- 跑步
alsamixer
;- 使用 F6 並研究可用的聲音設備
- 設定在裝置上播放的正確等級;
- 運行一些允許選擇聲音設備的聲音播放器(
audacious
例如);- 使用您的聲音裝置(重複步驟 2,3)並決定預設值;
- 退出
alsamixer
和播放器;- 以 root 身分登入;
- 運行
lsmod | grep snd
並嘗試了解哪些模組對應於實體聲音設備;- 如果不確定步驟 2 中是否正確確定模組:前往
/sys/module
並檢查名稱以「snd」開頭的所有目錄。該目錄的名稱與模組完全相同。如果您將在檢查目錄中看到「drivers」目錄 - 那麼檢查目錄的名稱是與實體聲音裝置對應的模組的名稱。記住(用記事本寫下)所有此類模組。- 為您在步驟 2 和 3 中找到的每個模組運行
modinfo <module name> | grep desc
。這將是相應聲音設備的優先順序。- 去
/etc/modprobe.d
;- 創造
snd_cards_priorities.conf
;寫入 snd_cards_priorities.conf 如下內容:
alias snd-card-0 <module for highest priority card> options <module for highest priority card> index=0 alias snd-card-1 <module for lower priority card> options <module for lower priority card> index=1
- 保存存檔;
- 使用命令重新啟動 alsa
/usr/sbin/alsa force-reload
;- 執行
cat /proc/asound/cards
命令並檢查聲音設備的順序是否正確(設備 #0 具有最高優先權);- 重複步驟9、10幾次,檢查聲音設備順序沒有改變;
退出根;
運行
alsamixer
並配置您的預設聲音設備,退出alsamixer
。- 使用您最喜歡的聲音播放器來測試您的新配置。
答案2
要設定預設設備,您不應重新定義設備default
,而只需將以下內容放入/etc/asound.conf
:
defaults.pcm.card 2 # or better "PCH"
defaults.pcm.device 0
這僅適用於實際使用預設設備而未明確指定設備的程式。如果某些程式(如 PulseAudio 或 VLC)已針對某些特定輸出裝置進行配置,則必須變更該配置。