【问题标题】:Adjust audio volume level with CLI omxplayer - Raspberry Pi使用 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

谢谢!

【问题讨论】:

    标签: linux bash raspberry-pi2 omxplayer


    【解决方案1】:

    为了给通过脚本播放提供更精确的信息,当前版本的omxplayer有3种改变音量的方法,数值不太直观:

    1. 在启动命令行上,参数--vol YYY,双毫,默认0,范围[-6000:0]
    2. 通过标准输入接口,向 omxplayer 发送 +/- 将增加/减少 300 dmbels 的音量
    3. 带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% 的音量。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-04-30
        • 1970-01-01
        • 2016-01-26
        • 2013-08-20
        • 1970-01-01
        • 2015-03-17
        • 1970-01-01
        相关资源
        最近更新 更多