调整与CLI omxplayer音量级 - 树莓派

问题描述 投票:9回答:5

我有一个通过omxplayer扮演我的树莓派.mp3文件bash脚本。但无法控制本地(耳机)音量与GUI。有没有我可以在bash脚本执行CLI命令?我寻觅了不少,却找不到这样的命令。

码:

omxplayer Song_Title.mp3

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

sudo modprobe snd_bcm2835 sudo amixer cset numid=3 1

omxplayer -o local

谢谢!

linux bash raspberry-pi2 omxplayer
5个回答
22
投票

为通过脚本播放提供更准确的信息,有3种方式来改变音量在omxplayer的当前版本,和值不那么直观:

  1. 起始命令行,PARAM --vol YYY,双millibels,默认为0,范围[-6000:0]
  2. 通过标准输入接口,发送到+/- 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%)

工作的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%。


9
投票

我不知道如何调整与命令的音量。但使用omxplayer CLI时,只要按下 - 或+把音量向上或向下。


2
投票

您可以通过添加选项--vol设置初始音量:

omxplayer --vol N Sogn_title.mp3

N是一个数字,表示millibels。 n的有效值是例如:

5000(提高音量)

-15000(减小音量)


1
投票

在树莓派3,我可以通过命令alsamixer来调整音量。

在命令行键入

alsamixer

你会看到screen

只需用起来还是向下箭头以增加或减小音量。按Esc键。音量设置。


0
投票

Omxplayer不使用ALSA声音输出,但它可以使用标准输入接口

提高音量:

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

音量减小:

echo -n "-" > /proc/$(pidof omxplayer.bin)/fd/0
© www.soinside.com 2019 - 2024. All rights reserved.