正确的设置初始音量的方法,其中n/100=你期望的初始dB值, omxplayer --vol n target.media

omxplayer介绍

omxplayer 在github中的描述是一个弃子,原文是这样的:

Note: omxplayer is being deprecated and resources are directed at improving vlc.

This is due to: omxplayer uses openvg for OSD and subtitles which isn't supported on Pi4. omxplayer uses openmax which has been deprecated for a long time and isn't supported with 64-bit kernels. omxplayer does not support software decode omxplayer does not support advanced subtitles omxplayer does not support playback from ISO files. omxplayer does not integrate with the X desktop

Please try using vlc. If there are features of omxplayer that vlc does not handle then try reporting here.

这段话大概的意思是,omxplayer使用的库很差劲,不支持这、不支持那的,已经被我们放弃了,大家也尽快转向vlc吧!

大家也可以尝试使用vlc,加上 -I cli 也可以用命令行控制,也挺好用的。

命令解析及发现命令的使用方法的过程

下面这些是 omxplayer 关于音量的帮助,其中 mB=millibels。

--vol n set initial volume in millibels (default 0)

volume = pow(10, mB / 2000.0);

mB = 2000.0 * log10(volume)

--vol n 这个参数接受的数字 n 可能会被分为两部分,小于100的部分化为 正真音量的小数点后两位,大于100的化为小数点左边的值。或者说,n/100=实际的音量 dB 值。

然后,我一开始是怀疑我的程序版本更新了,但是网上依然在挂之前的帮助,所以我没法用她们的格式来初始化音量。所以我首先测试的是参数的格式对不对,比如 --vol=n['n']这类的格式看看有没有报错,有没有报错,然而没有。接着我怀疑人家要求的是 double类型的参数,我如果不加一个小数点可能会以错误方式识别。然而,还是没有反应。

就在我要放弃的时候,突然发现我在控制界面按 - 减音量的时候,下减的间隔一样,但和之前的最终值不一样。我看到了曙光!有了这条线索,我首先重新做了实验!

实验次数 n的值 第一次按-的返回值 按-的降低间隔
1 -100 -4.00dB 3dB
2 -150 -4.5dB 3dB
3 -15.00 -3.15dB 3dB
4 -6000 -63.00dB 3dB
自己动手丰衣足食!欢迎大家留言交流啊!

RaspberryPi 树莓派 omxplayer 的音量设置方法实测有效!的更多相关文章

  1. jquery设置html5音量的方法

    jquery设置html5音量的方法<pre> setTimeout(function() { alert(1); $('#music1')[0].volume = 0; setTimeo ...

  2. unity音量设置(同时设置到多个物体上)——引伸语言设置

    在游戏中游戏设置是一个很重要的功能,但是比如语言设置和音量设置分散在很多个物体的组件上,如果每个对应的物体都放到一个链表里,会导致程序雍总难堪,使用事件调用是最好的方式 音量存储类 SoundMana ...

  3. iOS 9音频应用播放音频之音量设置与声道设置

    iOS 9音频应用播放音频之音量设置与声道设置 iOS 9音频应用音量设置 音量又称响度.音强,是指人耳对所听到的声音大小强弱的主观感受,其客观评价尺度是声音的振幅大小.在iOS 9音频应用的应用中, ...

  4. session超时时间设置方法

    session超时时间设置方法 由于session值之前没有设置,以至于刚登录的网站,不到一分钟就超时了,总结了一下,原来是session过期的原因,以下是设置session时间的3个方法: 1. 在 ...

  5. 第一种SUSE Linux IP设置方法

    第一种SUSE Linux IP设置方法ifconfig eth0 192.168.1.22 netmask 255.255.255.0 uproute add default gw 192.168. ...

  6. [Linux] - CentOS IP设置方法

    CentOS 7的IP设置方法: 1.手动设置IP方法 a) 运行命令,cd到目录: cd /etc/sysconfig/network-scripts/ b) 运行命令:ls -l 找到类似这个文件 ...

  7. linux自动以root登录,并自动启动用户程序的设置方法

    系统自动以root登录,并自动启动用户程序的设置方法 第一步:删除root用户 vi /etc/passwd 该文件的第一行:root:X:0:0:root:/root:/bin/bash,只需要把第 ...

  8. LR测试https协议设置方法

    测试ssl隧道的设置方法: 前一段时间使用loadrunner测试ssl vpn时,使用ssl隧道一直配置不成功,经过查资料,终于成功,记录一下,方便大家测试.走ssl隧道与普通http,只需多设两个 ...

  9. (转)mysql账号权限密码设置方法

    原文:http://www.greensoftcode.net/techntxt/2013410134247568042483 mysql账号权限密码设置方法 我的mysql安装在c:\mysql 一 ...

  10. Apache日志不记录图片文件设置方法和来源日志的配置

    Apache日志不记录图片文件设置方法 <FilesMatch "\.(ico|gif|jpg|swf)">SetEnv IMAG 1</FilesMatch&g ...

随机推荐

  1. Mocha MemoryBufferQueue 设计概述

    目录 前言 MemoryBufferQueue 功能概述 Buffer 模块 API 设计 MemoryBufferQueue 的设计 Partition 的设计 对并发的支持 Partition 的 ...

  2. JWT( JSON Web Token —— JSON Web 令牌 )的学习笔记

    一.跨域认证的问题 互联网服务离不开用户认证.一般流程是下面这样: 1.用户向服务器发送用户名和密码. 2.服务器验证通过后,在当前对话(session)里面保存相关数据,比如用户角色.登录时间等等. ...

  3. 教你用JavaScript获取大转盘

    案例介绍 欢迎来到我的小院,我是霍大侠,恭喜你今天又要进步一点点了!我们来用JavaScript编程实战案例,做一个大转盘.当你难以抉择的时候不妨用这个案例来帮你做选择.通过编程实战我们可以学到按钮的 ...

  4. NC24961 Hotel

    题目链接 题目 题目描述 The cows are journeying north to Thunder Bay in Canada to gain cultural enrichment and ...

  5. NC13885 Music Problem

    题目链接 题目 题目描述 Listening to the music is relax, but for obsessive(强迫症), it may be unbearable. HH is an ...

  6. 使用html+css+js实现一个仿钉钉打卡按钮

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. 使用 CMake 编写 Windows 静态库

    最近有一个多个 .h .cc .cpp 编译成静态库的需求,故记录下过程 静态库不同于动态库,它不需要 main 入口,只要各个源文件与头文件能对应,也就是源文件和头文件引用的头文件能够找到函数的符号 ...

  8. Java缓存框架整理

    Spring Cache 为基于Spring框架的应用提供了一套完整的缓存API抽象,具体的缓存实现可以对接如Ehcache,Redis等. https://docs.spring.io/spring ...

  9. pytho代码分析示例

    a = 5 b = 6 c = 10 for i in range(n): for j in range(n): x = i * j y = j * j z = i * j for k in rang ...

  10. 内建函数iter(),第三个参数哨兵用法

    循环读取文件常见写法 CHUNKSIZE=8192 def reader(s): while True: data = s.recv(CHUNKSIZE) if data == b'': break ...