NetSago
Вход
Войти

Как присоединиться?
Меню
Главная
События
 Заметки
Статьи
Теги
Поиск
О Проекте
Ссылки
Наше
RSS События по RSS
RSS Заметки по RSS
netsago NetSago
Популярное
Руководство по получению прибыли от Свободных и Открытых Проектов by Джон Эндрюс

Восстановление удаленных текстовых файлов в ФС ext3 by scamelscrud

Заметки — Меняем уровень звука с помощью bash-скрипта
Назад в Заметки

Меняем уровень звука с помощью bash-скрипта
n0xi0uzz



Теги: bash ALSA


Перевод статьи Mitch Frazier «Change Volume From a Bash Script».


Если вы используете ALSA для звука в вашей системе, функции, представленные в этом скрипте, могут быть использованы, чтобы узнать и установить уровень звука в системе. Мы сможете это использовать, если у вас есть запущенный скрипт для мониторинга, и вы хотите увеличить звук, когда подаете сигнал, а затем снова понизить его до предыдущего значения.

Функция получения звука использует выходную информацию amixer для простого контроля микшера «Master», а затем использует grep и cut, чтобы получить правильное значение на выходе.

Функция установки звука также использует amixer, чтобы установить звук. Она использует опцию «cset» amixer-а.

Скрипт следует далее:
#!/bin/bash
 #
 
 #####################################################################
 # Get current volume.
 function get_volume()
 {
     mixer=$(amixer get Master | grep 'Front Left:')
     echo $mixer | cut -d ' ' -f 4
 }
 
 #####################################################################
 # Set volume.
 function set_volume()
 {
     amixer cset iface=MIXER,name="Master Playback Volume" $1 >/dev/null

        

} if [[ $(basename $0 .sh) == 'sound' ]]; then sound_file=~/Documents/sounds/notify.wav if [[ "$1" ]]; then sound_file="$1"; fi ovol=$(get_volume) echo "Current volume: $ovol" aplay $sound_file sleep 2 vol=40 echo "Playing at: $vol" set_volume $vol aplay $sound_file sleep 2 echo "Again at: $ovol" set_volume $ovol aplay $sound_file fi # vim: tabstop=4: shiftwidth=4: noexpandtab: # kate: tab-width 4; indent-width 4; replace-tabs false;

Если вы сохраните скрипт, как sound.sh, и выполните, напрямую передавая имя звукового файла, он воспроизведет его на установленном уровне звука, затем увеличит уровень и снова воспроизведет, и, наконец, он восстановит уровень звука и воспроизведет его в последний раз. Если вы откроете окно изменения звука перед запуском скрипта, вы должны увидеть, как движется ползунок в зависимости от изменений скриптом уровня. Вы можете добавить в строку vol=40 желаемый уровень звука.

Посмотреть исходный код скрипта с подсветкой синтаксиса на NetSago Paste
Язык
English/Английский
Поиск
Расширенный Поиск
Ошиблись?
Если вы обнаружили ошибку на сайте, пожалуйста, сообщите нам о ней.
Посчитали
98 / 1036
К нам сегодня зашли 277 роботов. Они хотят убить всех человеков.

Зарегистрированных пользователей: 0
Онлайн: 0

Время генерации: 0.020 с
NetSago.v2.β © [2006;∞)  Neunica