Сценарий: Я включаю громкую музыку. Я отхожу от компьютера на час. Я возвращаюсь и возобновляю музыку, не помня, что громкость установлена на «полную».
Вопрос: Можно ли что-то установить, например плагин PulseAudio, который позволит мне указать:
Учитывая, что звук не воспроизводился в течение A
секунд, а громкость превышает B
, когда начнется воспроизведение звука, воспроизводите его на громкости C
, постепенно увеличивая громкость до B
в течение секунд D
.
Было бы гораздо предпочтительнее, если бы это можно было сделать «глобально», чтобы не имело значения, каков источник звука.
решение1
Вы можете установить музыкальный проигрыватель, имеющий такую функцию.
Насколько мне известно, в Clementine такая функция есть и она доступна в Центре приложений Ubuntu!
решение2
Один из вариантов — отключить или понизить громкость вашей системы при переходе в спящий режим (или возобновлении работы) с помощью скрипта. Это означает, что вам придется вручную ее активировать после возобновления работы, но...
Команда, устанавливающая громкость, должна выглядеть примерно так:
pacmd set-sink-volume 0 20000
( pacmd
есть в пакете pulseaudio-utils
), где - 0
это приемник по умолчанию (выход звука), а громкость - это 16-битное число (от 0 до 65535);более подробно в этом ответе. Вам придется поэкспериментировать, чтобы найти команду, которая подойдет для вашей системы.
Чтобы сделать это автоматически во время приостановки/возобновления, вы можете использовать ту же технику, которая описана вэта почта:(Я не проверял, но должно работать).
редактировать/создавать файл
gksudo gedit /etc/pm/sleep.d/02_shush
Поместите в него следующее содержимое:
#!/bin/sh # set the volume low on suspend and resume. Change the command to suite your # system. You can do that just in suspend OR resume or whatever; edit to your # taste... case "$1" in resume|thaw) # this command(s) will be executed at resume time pacmd set-sink-volume 0 20000 > /dev/null ;; suspend|hibernate) # this command(s) will be executed before suspend pacmd set-sink-volume 0 20000 > /dev/null ;; esac
Сохранить и выйти
сделать его исполняемым:
sudo chmod 755 /etc/pm/sleep.d/02_shush