ArchLinux安裝完沒有聲音之解決辦法

2021-09-19 23:37:34 字數 3244 閱讀 5442

alsa參照arch官網,wiki傳送門

高階 linux 聲音體系(advanced linux sound architecture,alsa)是linux中提供聲音裝置驅動的核心元件,用來代替原來的開放聲音系統(open sound system,ossv3)。除了聲音裝置驅動,alsa還包含乙個使用者空間的函式庫,以方便開發者通過高階api使用驅動功能,而不必直接與核心驅動互動。

arch 預設的核心已經通過一套模組提供了 alsa,不必特別安裝。

udev會在系統啟動時自動檢測硬體,並載入相應的聲音裝置驅動模組。這時,你的音效卡已經可以工作了,只是所有聲道預設都被設定成靜音了。

目前版本的alsa安裝後,所有聲道預設是靜音的,必須手動解除。

使用alsamixerncurses介面,配置十分簡單:

$ alsamixer
此外,還可以在命令列下使用 amixer:

$ amixer sset master unmute
在 alsamixer 中,下方標有 mm 的聲道是靜音的,而標有 00 的通道已經啟用。

使用 ← 和 → 方向鍵,選中 master 和 pcm 聲道。按下 m 鍵解除靜音。使用 ↑ 方向鍵增加音量,直到增益值為0。該值顯示在左上方 item: 欄位後。過高的增益值會導致聲音失真。

要想得到完整的 5.1 或 7.1 環繞立體聲,還得解除 front、surround、center、lfe (subwoofer) 和 side 這些聲道的靜音(上述名稱是 intel hd audio 音效卡使用的聲道名,可能因裝置不同而有所差異)。注意,僅有這些設定,系統不會自動將立體聲源(多數**)提公升(upmix)成環繞立體聲。如果需要這些功能,請閱讀#upmixing/downmixing。

要啟用麥克風,切換至 capture 選項卡,按下 f4,按下 空格 啟用其中乙個聲道即可。

按下 esc 鍵退出 alsamixer。

使用alsamixer設定之後還是沒有聲音的,就使用第二種方法,出現error:

amixer: unable to find ****** control 'master',0
表示不能設定,或是找不到音效卡裝置,我還以為安裝完沒有音效卡驅動。

用命令獲取音效卡的音效卡id和裝置id

$ aplay -l

**** list of playback hardware devices ****

card 0: hdmi [hda intel hdmi], device 3: hdmi 0 [hdmi 0]

subdevices: 1/1

subdevice #0: subdevice #0

card 0: hdmi [hda intel hdmi], device 7: hdmi 1 [hdmi 1]

subdevices: 1/1

subdevice #0: subdevice #0

card 0: hdmi [hda intel hdmi], device 8: hdmi 2 [hdmi 2]

subdevices: 1/1

subdevice #0: subdevice #0

card 1: pch [hda intel pch], device 0: alc282 analog [alc282 analog]

subdevices: 1/1

subdevice #0: subdevice #0

card 1: pch [hda intel pch], device 1: alc282 digital [alc282 digital]

subdevices: 1/1

subdevice #0: subdevice #0

音效卡資訊應該是沒有問題的。

在amixer配置音訊

scontrols " show all mixer ****** controls

$ amixer scontrols

****** mixer control 'iec958',0

****** mixer control 'iec958',1

****** mixer control 'iec958',2

然而並沒有「master」,這種情況應該是預設音效卡不對。

-c,--card n " select the card

$ amixer -c 1 scontrols

****** mixer control 'master',0

****** mixer control 'headphone',0

****** mixer control 'speaker',0

****** mixer control 'pcm',0

****** mixer control 'mic',0

****** mixer control 'mic boost',0

****** mixer control 'iec958',0

****** mixer control 'iec958 default pcm',0

****** mixer control 'beep',0

****** mixer control 'capture',0

****** mixer control 'auto-mute mode',0

****** mixer control 'internal mic boost',0

問題就出現在預設音效卡不對,解決問題的辦法就是修改預設音效卡。

在剛才aplay -l裡面選擇音效卡1,裝置id為0的音效卡

把下列配置新增到系統級別的 /etc/asound.conf 或使用者級別的 ~/.asoundrc 檔案。如果檔案不存在,可以手動建立。其中的各個id,請根據實際情況調整:

defaults.pcm.card 1

defaults.pcm.device 0

defaults.ctl.card 1

上述配置在重啟音訊程式(如 mplayer)後立即生效。

在i3-wm還要自己配聲音,我也是醉了,強大如gnome的都給配置好了。

博文鏈結

PCIMEN BASE沒有宣告

在編譯核心的過程中出現了如下的編譯顯示 drivers video console vgacon.c in function vgacon startup drivers video console vgacon.c 510 error pcimem base undeclared first us...

電腦分屏沒有聲音 常見的幾種處理電腦沒有聲音方案

音效卡故障現象 重新安裝作業系統和音效卡的驅動程式後,發現計算機無法發出聲音。問題原因 根據故障現象的分析,該故障可能是音效卡問題引起的。主要原因可能是音效卡驅動程式安裝有問題,音效卡與主機板不相容,音效卡已損壞,揚聲器未與音效卡連線以及揚聲器有問題。修復方法 要解決這種故障,應首先檢查音效卡驅動程...

Arch Linux 安裝筆記

鍵入 n 新建分割槽 鍵入 p 新建主分割槽 預設就是 p 因此可以直接回車 分割槽編號,鍵入 1 或者直接回車 然後提示鍵入開始區域,直接回車,結束區域,鍵入 10g 意思是劃分10g分割槽 建立成功後將提示建立成功。以後的分割槽將跟上面的步驟一樣,分割槽後鍵入 w 將分割槽改動寫入磁碟,貼一下分...