使用 CLI omxplayer 调整音量级别 - Raspberry Pi
Adjust audio volume level with CLI omxplayer - Raspberry Pi
我有一个 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
谢谢!
我不知道如何使用命令调整音量。但是当使用 omxplayer CLI 时,只需按 - 或 + 来调高或调低音量。
您可以通过添加选项--vol
来设置初始音量:
omxplayer --vol N Sogn_title.mp3
其中 N
是表示毫贝的数字。例如,N 的有效值是:
5000(加大音量)
-15000(减小音量)
为了给脚本播放提供更准确的信息,omxplayer当前版本有3种音量调节方式,数值不是很直观:
- 启动命令行,参数
--vol YYY
,双倍毫贝,默认0,范围[-6000:0]
- 通过标准输入接口,发送 +/- 到 omxplayer 将 increase/decrease 音量为 300 dmbels
- with DBUS interface, cmd 'set volume', value
double:XXX
, default 1, range [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 ... (boost test, normal values are <=100%)
工作 bash 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)
等于启动时的音量参数:
omxplayer --vol -602 mediaFileName.mp4
...都将音量设置为 50%。
在Raspberry Pi3、
我可以通过 alsamixer 调整音量。
在命令行中
类型
alsamixer
你会看到
只需使用向上或向下箭头来增大或减小音量。
按 Esc。音量已设置。
Omxplayer 不使用 alsa 进行声音输出,但可以使用 stdin 接口
调高音量:
echo -n "+" > /proc/$(pidof omxplayer.bin)/fd/0
降低音量:
echo -n "-" > /proc/$(pidof omxplayer.bin)/fd/0
我有一个 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
谢谢!
我不知道如何使用命令调整音量。但是当使用 omxplayer CLI 时,只需按 - 或 + 来调高或调低音量。
您可以通过添加选项--vol
来设置初始音量:
omxplayer --vol N Sogn_title.mp3
其中 N
是表示毫贝的数字。例如,N 的有效值是:
5000(加大音量)
-15000(减小音量)
为了给脚本播放提供更准确的信息,omxplayer当前版本有3种音量调节方式,数值不是很直观:
- 启动命令行,参数
--vol YYY
,双倍毫贝,默认0,范围[-6000:0] - 通过标准输入接口,发送 +/- 到 omxplayer 将 increase/decrease 音量为 300 dmbels
- with DBUS interface, cmd 'set volume', value
double:XXX
, default 1, range [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 ... (boost test, normal values are <=100%)
工作 bash 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)
等于启动时的音量参数:
omxplayer --vol -602 mediaFileName.mp4
...都将音量设置为 50%。
在Raspberry Pi3、 我可以通过 alsamixer 调整音量。
在命令行中 类型
alsamixer
你会看到
只需使用向上或向下箭头来增大或减小音量。 按 Esc。音量已设置。
Omxplayer 不使用 alsa 进行声音输出,但可以使用 stdin 接口
调高音量:
echo -n "+" > /proc/$(pidof omxplayer.bin)/fd/0
降低音量:
echo -n "-" > /proc/$(pidof omxplayer.bin)/fd/0