加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

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

发布时间:2020-12-14 02:18:15 所属栏目:Linux 来源:网络整理
导读:我有一个bash脚本,通过omxplayer在我的Raspberry Pi上播放.mp3文件.但无法使用GUI控制本地(耳机)音量.是否有我可以在bash脚本中实现的CLI命令?我搜索了很多,但找不到这样的命令. 码: omxplayer Song_Title.mp3 设置本地(耳机)输出的音频: sudo modprobe s
我有一个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中有3种方法可以改变音量,并且值不是那么直观:

>在启动命令行上,参数–vol YYY,双毫,默认0,范围[-6000:0]
>通过stdin界面,发送/ – 到omxplayer将增加/减少300 dmbels的音量
>使用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)

等于启动时的volume参数:

omxplayer --vol -602 mediaFileName.mp4

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读