使用 CLI omxplayer 调整音频音量级别 - Raspberry Pi
Posted
技术标签:
【中文标题】使用 CLI omxplayer 调整音频音量级别 - Raspberry Pi【英文标题】:Adjust audio volume level with CLI omxplayer - Raspberry Pi 【发布时间】:2016-01-14 18:06:30 【问题描述】:我有一个 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
谢谢!
【问题讨论】:
【参考方案1】:为了给通过脚本播放提供更精确的信息,当前版本的omxplayer有3种改变音量的方法,数值不太直观:
-
在启动命令行上,参数
--vol YYY
,双毫,默认0,范围[-6000:0]
通过标准输入接口,向 omxplayer 发送 +/- 将增加/减少 300 dmbels 的音量
带DBUS接口,cmd 'set volume',值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)
volume 150%, XXX=1.5 and YYY=352 ...(对于升压测试,正常值为
dbus 卷命令的工作 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)
等于启动时的音量参数:
omxplayer --vol -602 mediaFileName.mp4
...两者都将音量设置为 50%。
【讨论】:
很好的解释【参考方案2】:我不确定如何使用命令调节音量。但在使用 omxplayer CLI 时,只需按 - 或 + 即可调高或调低音量。
【讨论】:
这适用于调整音量。谢谢!【参考方案3】:Omxplayer 不使用 alsa 进行声音输出,但可以使用 stdin 接口
提高音量:
echo -n "+" > /proc/$(pidof omxplayer.bin)/fd/0
降低音量:
echo -n "-" > /proc/$(pidof omxplayer.bin)/fd/0
【讨论】:
【参考方案4】:您可以通过添加选项--vol
来设置初始音量:
omxplayer --vol N Sogn_title.mp3
其中N
是一个表示毫贝尔的数字。 N 的有效值例如:
5000(加大音量)
-15000(降低音量)
【讨论】:
【参考方案5】:在树莓派 3 中, 我可以通过 alsamixer 调整音量。
在命令行中 输入
alsamixer
你会看到
只需使用向上或向下箭头来增加或减少音量。 按 Esc。音量已设置。
【讨论】:
您可以通过智能手机直接 ssh 到alsamixer
,例如使用ssh -t pi alsamixer
(其中 pi 是您在~/.ssh/config
中的条目)。您还可以使用触摸屏上的垂直滑动来更改音量(在 termux 中测试)。您也可以使用数字键,例如7
设置 70% 的音量。以上是关于使用 CLI omxplayer 调整音频音量级别 - Raspberry Pi的主要内容,如果未能解决你的问题,请参考以下文章