alsa參照arch官網,wiki傳送門
高階 linux 聲音體系(advanced linux sound architecture,alsa)是linux中提供聲音裝置驅動的核心元件,用來代替原來的開放聲音系統(open sound system,ossv3)。除了聲音裝置驅動,alsa還包含乙個使用者空間的函式庫,以方便開發者通過高階api使用驅動功能,而不必直接與核心驅動互動。目前版本的arch 預設的核心已經通過一套模組提供了 alsa,不必特別安裝。
udev會在系統啟動時自動檢測硬體,並載入相應的聲音裝置驅動模組。這時,你的音效卡已經可以工作了,只是所有聲道預設都被設定成靜音了。
alsa
安裝後,所有聲道預設是靜音的,必須手動解除。
使用alsamixer
的ncurses
介面,配置十分簡單:
$ alsamixer
此外,還可以在命令列下使用 amixer:
$ amixer sset master unmute
在 alsamixer 中,下方標有 mm 的聲道是靜音的,而標有 00 的通道已經啟用。使用alsamixer設定之後還是沒有聲音的,就使用第二種方法,出現error:使用 ← 和 → 方向鍵,選中 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。
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 將分割槽改動寫入磁碟,貼一下分...