我有一个通过omxplayer扮演我的树莓派.mp3文件bash脚本。但无法控制本地(耳机)音量与GUI。有没有我可以在bash脚本执行CLI命令?我寻觅了不少,却找不到这样的命令。
码:
omxplayer Song_Title.mp3
设置本地(耳机)输出音频:
sudo modprobe snd_bcm2835
sudo amixer cset numid=3 1
omxplayer -o local
谢谢!
为通过脚本播放提供更准确的信息,有3种方式来改变音量在omxplayer的当前版本,和值不那么直观:
--vol YYY
,双millibels,默认为0,范围[-6000:0]double:XXX
,默认为1,范围[0:1]XXX YYY到关系为:XXX = 10 ^ (YYY / 2000)
...根据omxplayer.cpp源代码,逆向公式将是:YYY = 2000 * (log XXX)
。
所以,如果我们需要:
(10^(-4000/2000)=10^-2=0.01
(10^(-2000/2000)=10^-1=0.1
(10^(-602/2000))~=0.5
(10^(0/2000)=10^0=1)
工作的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 CLI时,只要按下 - 或+把音量向上或向下。
您可以通过添加选项--vol
设置初始音量:
omxplayer --vol N Sogn_title.mp3
凡N
是一个数字,表示millibels。 n的有效值是例如:
5000(提高音量)
-15000(减小音量)
Omxplayer不使用ALSA声音输出,但它可以使用标准输入接口
提高音量:
echo -n "+" > /proc/$(pidof omxplayer.bin)/fd/0
音量减小:
echo -n "-" > /proc/$(pidof omxplayer.bin)/fd/0