使用CLI omxplayer调整音频音量-Raspberry Pi [英] Adjust audio volume level with CLI omxplayer - Raspberry Pi

查看:332
本文介绍了使用CLI omxplayer调整音频音量-Raspberry Pi的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个bash脚本,可以通过omxplayer在Raspberry Pi上播放.mp3文件.但是无法使用 GUI 控制本地(耳机)的音量.我可以在bash脚本中实现 CLI 的命令吗?我已经搜索了很多,但是找不到这样的命令.

I have a bash script that plays .mp3 files on my Raspberry Pi via omxplayer. But can not control the local (earphone) audio volume with the GUI. Is there a command for the CLI that I can implement in the bash script? I have searched quite a bit, but can not find such a command.

代码:

omxplayer Song_Title.mp3

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

Set audio for local (earphone) output:

sudo modprobe snd_bcm2835 sudo amixer cset numid=3 1

sudo modprobe snd_bcm2835 sudo amixer cset numid=3 1

omxplayer -o local

谢谢!

推荐答案

为了提供更准确的脚本播放信息,在当前版本的omxplayer中有3种更改音量的方法,而且值也不那么直观:

to provide more precise information for playing through scripts, there are 3 ways to change sound volume in current version of omxplayer, and values are not so intuitive:

  1. 在启动命令行上,参数--vol YYY,双毫贝,默认0,范围[-6000:0]
  2. 通过stdin界面,向omxplayer发送+/-将增加/减少300 dmbels的音量
  3. 具有DBUS接口,cmd'设置音量',值double:XXX,默认值1,范围[0:1]
  1. on starting command line, param --vol YYY, double millibels, default 0, range [-6000:0]
  2. by stdin interface, sending +/- to omxplayer will increase/decrease volume for 300 dmbels
  3. 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).

xxx to yyy relation is: XXX = 10 ^ (YYY / 2000) ... according to omxplayer.cpp source code, reverse formula would be: 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%)
  • volume 1%, XXX=0.01 and YYY=-4000 (10^(-4000/2000)=10^-2=0.01
  • volume 10%, XXX=0.1 and YYY=-2000 (10^(-2000/2000)=10^-1=0.1
  • volume 50%, XXX=0.5 and YYY=-602 (10^(-602/2000))~=0.5
  • volume 100%, XXX=1 and YYY=0 (10^(0/2000)=10^0=1)
  • volume 150%, XXX=1.5 and YYY=352 ... (for boost test, normal values are <=100%)

dbus音量命令的有效bash脚本:

working bash script for dbus volume command:

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)

等于启动时的音量参数:

equals to volume parameter at startup:

omxplayer --vol -602 mediaFileName.mp4

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

... both sets sound volume to 50%.

这篇关于使用CLI omxplayer调整音频音量-Raspberry Pi的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆