使用CLI omxplayer调整音量级别 - Raspberry Pi

Van*_*dal 11 linux bash omxplayer raspberry-pi2

我有一个bash脚本,通过omxplayer在我的Raspberry Pi上播放.mp3文件.但无法使用GUI控制本地(耳机)音量.是否有我可以在bash脚本中实现的CLI命令?我搜索了很多,但找不到这样的命令.

码:

omxplayer Song_Title.mp3

设置本地(耳机)输出的音频:

sudo modprobe snd_bcm2835 sudo amixer cset numid=3 1

omxplayer -o local

谢谢!

Met*_*tNP 23

为了通过脚本提供更精确的信息,在当前版本的omxplayer中有3种方法可以改变音量,而且值不是那么直观:

  1. 在启动命令行,参数--vol YYY,双毫,默认0,范围[-6000:0]
  2. 通过stdin界面,发送+/-到omxplayer将增加/减少300 dmbels的音量
  3. 使用DBUS接口,cmd'设置音量',值double:XXX,默认值1,范围[0:1]

xxx到yyy的关系是: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%)

dbus volume命令的bash脚本:

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)
Run Code Online (Sandbox Code Playgroud)

等于启动时的volume参数:

omxplayer --vol -602 mediaFileName.mp4
Run Code Online (Sandbox Code Playgroud)

...两者都将音量设置为50%.


小智 9

我不知道如何用命令调整音量.但是在使用omxplayer CLI时,只需按 - 或+即可上调或下调音量.

  • 这适用于调节音量.谢谢! (2认同)