Отрегулируйте громкость звука с помощью CLI omxplayer - Raspberry Pi

У меня есть скрипт bash, который воспроизводит файлы.mp3 на моем Raspberry Pi через omxplayer. Но не может контролировать локальную (наушники) громкость звука с графическим интерфейсом. Есть ли команда для CLI, которую я могу реализовать в скрипте bash? Я искал совсем немного, но не могу найти такую ​​команду.

Код:

omxplayer Song_Title.mp3

Установить звук для локального (наушникового) выхода:

sudo modprobe snd_bcm2835 sudo amixer cset numid=3 1

omxplayer -o local

Спасибо!

4 ответа

Решение

Чтобы предоставить более точную информацию для игры через скрипты, в текущей версии omxplayer есть 3 способа изменить громкость звука, а значения не настолько интуитивны:

  1. в стартовой командной строке, param --vol YYY, двойной миллибел, по умолчанию 0, диапазон [-6000:0]
  2. по интерфейсу stdin отправка +/- в omxplayer увеличит / уменьшит громкость на 300 дбелей
  3. с интерфейсом DBUS, cmd "установить громкость", значение double:XXXпо умолчанию 1, диапазон [0:1]

Отношение ххх к ггг: XXX = 10 ^ (YYY / 2000)... согласно исходному коду omxplayer.cpp, обратная формула будет: YYY = 2000 * (log XXX),

так что если нам нужно:

  • объем 1%, XXX=0,01 и YYY=-4000 (10^(-4000/2000)=10^-2=0.01
  • объем 10%, XXX=0,1 и YYY=-2000 (10^(-2000/2000)=10^-1=0.1
  • объем 50%, XXX=0,5 и YYY=-602 (10^(-602/2000))~=0.5
  • объем 100%, XXX=1 и YYY = 0 (10^(0/2000)=10^0=1)
  • громкость 150%, XXX=1,5 и YYY=352 ... (для теста повышения нормальные значения <=100%)

рабочий скрипт bash для команды громкости dbus:

export DBUS_SESSION_BUS_ADDRESS=$(cat /tmp/omxplayerdbus.${USER:-root})
dbus-send --print-reply --session --reply-timeout=500 \
           --dest=org.mpris.MediaPlayer2.omxplayer \
           /org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Set \
           string:"org.mpris.MediaPlayer2.Player" \
           string:"Volume" double:0.5   # <-- XXX=0.5 (50% sound volume)

равно параметру громкости при запуске:

omxplayer --vol -602 mediaFileName.mp4

... оба устанавливают громкость звука на 50%.

Я не уверен, как настроить уровень громкости с помощью команды. Но при использовании интерфейса командной строки omxplayer просто нажмите - или +, чтобы увеличить или уменьшить громкость.

Omxplayer не использует alsa для вывода звука, но есть возможность использовать интерфейс stdin

Увеличить громкость:

echo -n "+" > /proc/$(pidof omxplayer.bin)/fd/0

Убавить звук:

echo -n "-" > /proc/$(pidof omxplayer.bin)/fd/0

Вы можете установить начальную громкость, добавив опцию --vol:

omxplayer --vol N Sogn_title.mp3

куда N число, обозначающее миллибели Допустимые значения для N, например:

5000 (увеличить громкость)

-15000 (уменьшить громкость)

В Raspberry Pi 3 мне удалось отрегулировать громкость звука с помощью alsamixer.

В командной строке введите

alsamixer

ты увидишь экран

Просто используйте стрелки вверх или вниз для увеличения или уменьшения громкости. Нажмите Esc. Громкость установлена.

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