所有 ALSA 設備的預設音量
我想為所有將要連接的 ALSA 設備一勞永逸地設置預設音量。
當然,我可以做
amixer ...
甚至alsamixer
修改目前可用音效卡的音量。但我真的很想修改預設音量*,即使是以後要添加的音效卡*。
我應該在哪個配置文件中設置這個預設音量?
我見過
/var/lib/alsa/asound.state
,但內容特定於目前連接的音效卡。我想要的是一種適用於任何將要連接的音效卡的解決方案。背景:我為什麼要這個?我正在為我的項目SamplerBox提供一個現成的 Debian 映像。使用者 #1 可能使用電腦的內置音效卡,使用者 #2 可能有一個 USB DAC,使用者 #3 可能有另一個音效卡……
我想提供一個預設的 -3dB 音量,適用於任何 ALSA 音效卡的人本來可以…
**注意:**我重新安裝了一個全新的系統,預設情況下,所有設備的音量似乎都是 -20dB:
中有一些通用和特定於驅動程序的配置文件
/usr/share/alsa/init/
,您可以在其中指定ENV{ppercent}:="75%"
和ENV{pvolume}:="-20dB"
(pvolume
= 播放音量,cvolume
= 擷取音量等)等設置。/usr/share/alsa/init/default
應該已經包含這些設置,因此您可以將其用作範例。您可以使用 強制 ALSA 重新初始化所有設備,
alsactl init
也可以使用alsactl -i /usr/share/alsa/init/foo init
.出於某種原因,ALSA 似乎忽略了我係統上的
ppercent
和pvolume
設置,但從您的評論來看,它們似乎對您有用。如果有人能告訴我為什麼配置可能會被忽略,我很樂意修改這個答案。
我只是在這篇文章上徘徊,看到你和我一樣在為這個問題的答案而苦苦掙扎。這就是為我解決的問題:
進入 alsamixer 並按照您想要的方式設置所有內容,然後退出並輸入以下內容:
sudo alsactl store
這將儲存 alsamixer 的目前配置,它應該保留配置。