Как можно одновременно контролировать громкость линейного входа + нормального выхода?

У меня есть источник звука, подключенный через линейный вход к моему компьютеру. Но когда я изменяю общую громкость, изменяется только громкость звуков, воспроизводимых на компьютере (например, мультимедиа, оповещения и т. Д.); выходная громкость линейного источника не изменяется. Как мне это контролировать?

ОБНОВИТЬ:

Чтобы уточнить, я не просто хочу контролировать выходной уровень громкости линейного входа, я хочу управлять нормальным "выходным уровнем громкости" только с одного элемента управления, и я хочу, чтобы это влияло и на линию выходного уровня громкости. Что-то вроде "мастер-громкости", которая влияет на все, что выходит из звуковой карты.

"Общий уровень громкости", который я вижу при запуске команды "alsamixer", влияет только на звук, исходящий от основного компьютера, а не от линейного входа.

3 ответа

Я следовал за ответом Джейсона Б., и это сработало. Но я также добавил код для отображения уведомления о томе, так как это поведение по умолчанию в Ubuntu 14.04.

Вот что добавить в конце файлов:

tmp1=$(amixer get Master | grep dB | sed 's/\(^[a-z0-9 :]\+\[\|\[\|\]\)//gi')
tmp2=(${tmp1//\ / })
tmp3=(${tmp2//\%/ })
notify-send hi -i notification-audio-volume-high -h int:value:$tmp3 -h string:synchronous:volume

Я придумал решение, позволяющее контролировать громкость как вашего "Master", так и "Line", используя только "Media Keys" на клавиатуре.

Первый шаг - отключить регуляторы громкости по умолчанию, перейдя в System → Preferences → Keyboard Shortcutsщелкните вкладку "Ярлыки" и установите для параметра "Увеличение и уменьшение громкости" значение "Отключено" на странице "Звук и мультимедиа".

Во-вторых, вам нужно будет назначить свои "Клавиши громкости" для пользовательских команд на странице "Пользовательские ярлыки". Для этого нажмите на "+" внизу, чтобы добавить ярлык. Назовите первую команду Volume Up и пусть он выполняет сценарии: ./path-to-scripts/VolumeUp.sh, Повторите этот процесс для второй команды и попросите ее выполнить VolumeDown.sh сценарий вместо. Затем нажмите на команду, в которой написано "Отключено", и назначьте ей свой ключ (повторите для обоих).

Наконец, создайте 2 сценария, на которые ссылаются пользовательские ярлыки, и скопируйте в них следующее:

VolumeUp.sh:

#!/bin/bash
amixer -c0 -sq <<-EOF
set Master 10%+
set Line 10%+
EOF

VolumeDown.sh:

#!/bin/bash
amixer -c0 -sq <<-EOF
set Master 10%-
set Line 10%-
EOF

Не забудьте установить ваши сценарии как "Разрешить выполнение файла как программы" в свойствах файла или chmod это разрешить исполнение. Вам также может понадобиться прочитать amixer, чтобы узнать, на сколько нужно изменить громкость (по умолчанию используется 10%).

Если вы откроете gnome-alsamixer, вы должны увидеть, как "Master" и "Line" поднимаются и опускаются при нажатии клавиш "Volume". Единственный недостаток - клавиша, ее нужно нажимать, ее нельзя удерживать, чтобы изменить громкость.

Вы уже пробовали линейный контроль? Нажмите Alt+F2 и введите "gnome-alsamixer". Вы должны получить окно с большим количеством элементов управления, называемое микшером, в котором вы можете настроить каждый источник звука.

PS: В ноутбуках, но также и в ПК со звуком на плате, линейный вход осуществляется с помощью второго звукового устройства довольно часто, так что, возможно, вам придется выбрать другую вкладку в микшере (если их больше) первый.

Другие вопросы по тегам