pro poskytnutí přesnějších informací pro přehrávání pomocí skriptů existují 3 způsoby, jak změnit hlasitost zvuku v aktuální verzi omxplayeru a hodnoty nejsou tak intuitivní:
- na spuštění příkazového řádku parametr
--vol YYY
, dvojité milibely, výchozí 0, rozsah [-6000:0] - v rozhraní stdin, odeslání +/- do omxplayeru zvýší/sníží hlasitost o 300 dmbelů
- s rozhraním DBUS, cmd 'set volume', hodnota
double:XXX
, výchozí 1, rozsah [0:1]
Vztah xxx k yyy je:XXX = 10 ^ (YYY / 2000)
... podle zdrojového kódu omxplayer.cpp by obrácený vzorec byl:YYY = 2000 * (log XXX)
.
takže pokud potřebujeme:
- objem 1 %, XXX=0,01 a YYY=-4000
(10^(-4000/2000)=10^-2=0.01
- objem 10 %, XXX=0,1 a YYY=-2000
(10^(-2000/2000)=10^-1=0.1
- objem 50 %, XXX=0,5 a YYY=-602
(10^(-602/2000))~=0.5
- objem 100 %, XXX=1 a YYY=0
(10^(0/2000)=10^0=1)
- objem 150 %, XXX=1,5 a YYY=352 ... (pro test boostu jsou normální hodnoty <=100 %)
pracovní bash skript pro příkaz dbus volume:
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)
rovná se parametru hlasitosti při spuštění:
omxplayer --vol -602 mediaFileName.mp4
... oba nastaví hlasitost zvuku na 50 %.
Omxplayer nepoužívá alsa pro výstup zvuku, ale je možné použít rozhraní stdin
Zvýšení hlasitosti:
echo -n "+" > /proc/$(pidof omxplayer.bin)/fd/0
Snížení hlasitosti:
echo -n "-" > /proc/$(pidof omxplayer.bin)/fd/0
Nejsem si jistý, jak upravit úroveň hlasitosti pomocí příkazu. Ale když používáte omxplayer CLI, stačí stisknout - nebo + pro zvýšení nebo snížení hlasitosti.
Počáteční hlasitost můžete nastavit přidáním volby --vol
:
omxplayer --vol N Sogn_title.mp3
Kde N
je číslo udávající milibely. Platné hodnoty pro N jsou například:
5000 (zvýšení hlasitosti)
-15000 (snížit hlasitost)