1

Можно ли использовать приложение cinnamon-settings в командной строке для изменения звуковой карты по умолчанию? Звуковая карта по умолчанию не установлена в dconf.
Я пытаюсь написать скрипт, который переключается между HDMI и аналоговым звуком.

1 ответ1

2

Я думаю, что вы ищете

pacmd set-default-sink <sink_name|index>

как указано в https://askubuntu.com/questions/690711/change-sound-output-from-command-line и https://askubuntu.com/questions/14077/how-can-i-change-the-default -audio-устройства из-командной строки

Вы можете получить доступный индекс с

pacmd list-sinks|grep index|awk '{print $NF}'

Если вы хотите контролировать громкость, вы можете сделать это в командной строке с помощью alsamixer (ncurses) или amixer.

Если вы собираетесь играть с настройками pulseaudio, то

cp -i /etc/pulse/default.pa ~/.config/pulse/

даст вам собственную копию, которую безопаснее редактировать

pulseaudio -k  #should restart pulseaudio after you change settings.

Для вашего сценария вы можете проверить, совместимы ли доступные скорости звука с вашим устройством-приемником:

grep rates $(grep -ci hdmi /proc/asound/card*/codec#0|grep -v :0|sed 's,:.$,,'|head -n1)

и в зависимости от того, к какому профилю прикреплена каждая карта

pactl --server "unix:/run/user/$(id -u)/pulse/native"  set-card-profile 1 output:analog-stereo

а также

pactl --server "unix:/run/user/$(id -u)/pulse/native"  set-card-profile 0 output:hdmi-stereo

может помочь создать полезные переменные. Похоже, кто-то уже пытался сделать то, что вы делаете:

Но некоторые их переменные либо специфичны для archlinux, либо устарели. (Хотя их путь к запуску вашего скрипта может помочь.)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .