热门标签 | HotTags
当前位置:  开发笔记 > 开发工具 > 正文

Mplayer音量控制详解

Mplayer音量控制详解--Linux通用技术-Linux技术与应用信息,下面是详情阅读。
其实我注册这个论坛初衷就是要问这个问题的,后来自己研究出来了...分析一下,写出来...就这么长了...

Mplayer 音量控制详解

有点复杂...

因为MPLAYER用0和9调过的音量在换歌的时候就会无效...所以..我们要在启动MPLAYER的时候就必须选设置好,这样,音量才会赋给所有的参数(歌曲或电影).为什么不直接调WINDOWS的音量呢. 因为...调小声了QQ的滴滴声我听不到,给音乐盖了...(这是什么理由呀?)

好了.要怎么做..方法好像很多..其实,原理上是不同的.先介绍第一种.

调默认音量:

mplayer -af volume=-10 *.mp3

volume 的范围可以是-200到+60. -200是静音. 而+60是噪音...

我调-10是让他小声一点点,不要影响我上QQ嘛....


现象分析:

用这种方法启动后,音量马上生效,而且是每首歌都生效.也就是说,一启动.每首歌开播的时候,音量被重置到启动时的音量.不管你用0,还是9去改变音量.这个默认音量不会被影响.播放下一个文件的时候.下一个文件将恢复到这个默认音量.而一开启的时候.这个默认音量将取代原来的声卡的音量.也就是100%时候,音量是这个.你如果把 volume 设成-200也就是静音了...你再按多少次0也无济于事,因为-200就是100%的音量了,再也上不去了. 如果你把 volume 设成60,这时候声音会很大(当然,对于有些影片,声音本来就很小很小的,这下就刚刚好).而这个声音很大的音量对应的是100%,你可以按9降下来音量.按0当然不会上去.总结,用这种方法打开文件.音量默认在100%的位置. 100%的音量多大,由VOLUME的值决定. 100%就是对应VOLUME的值.也就是说,你没有办法在播放的时候提高声音.

第二种方法,用软声卡(先这么叫吧)

mplayer -softvol -softvol-max 10 *.mp3

这个, 先用 -softvol 启用软声卡. 然后,用 -softvol-max 限制软声卡的最大音量.这里,我们把最大音量调为默认音量的10%.会变得很小声的.

现象分析:

启动后,他妈的一点作用都没有.完全没反应.因为默认声音没有变(第一种方法才能变).所以,刚启动用的是默认音量.这样,音量没有变化,只有你按了一下0或9的时候.才会生效. 最大音量变成原来的10%,也就是说,你现在100%的音量只有原来10%的音量了. 如果你的最大音量比原来的大,现像却有所不同.比如你把 softvol-max 后面的值改成200,这样,软音量的最大值就是原来的200%了.两倍,同样,启动后是没有生效的.你这回按0或9就会生效.不过这时,音量不是从100%开始的.可是从50%.因为一启动的时候,用的是默认音量,而默认音量是最大软音量的50%,所以,启动的时候,音量是50%这个值.其实之前设成10%也是一样的道理.就是启动时用的是默认音量,默认音量是软音量最大值的10倍,但百分数不会大于100%,所以不会显示1000%出来.便还是从1000%开始了.和第一种方法不同的是,默认音量对应的不是100%.而软音量的最大值才对应的是100%.当你换下一首歌的时候,你用0和9调过的数字又会回复成默认音量.连续放音乐...每首歌都要按一下0,或者9才生效,累死你...


第三种方法:

我们把前两种方法综合起来.我们就可以让默认音量对应的值不是100%.而且,一启动就生效. 

mplayer -af volume=-10 -softvol -softvol-max 200 *.mp3
这样,启动后,默认音量将是-10(大概是30%),一启动,使用的是默认音量,就是原音量的30%了.也就是生效了.然后你按一下0或9,发现.这回,默认音量对应的值不是100%了. 而是16%,因为我把软音量的最大值设为了原音量的2倍,这样,软音量的最大值对应100%,原音量是50%,而默认音量(大概是原音量30%)就变成了50%*30%,则是15%了.呵呵.大概也就是16%.满精确的,哈哈.这样,我们可以在播放的时候,再提高默认音量的声音.而不会像像第一种方法那样.一出来就已经是100%的音量,没有往上爬的空间了.


综合结论: 第一种方法的好处是一开始就生效.每首歌都有效.坏处是,声音没法再高上去.想临时把某一首歌的声音提高是不可能了. 第二种方法好处是,可以把声音再提高,害处就是,一开始不生效,要按0,或9,而且,换歌的时候,又得再按0或9,每首都要按... 第三种方法...综合了前面两者的优点, PERFECT.
推荐阅读
  • JavaScript 中引号的多层嵌套使用技巧
    本文详细介绍了在 JavaScript 编程中如何处理引号的多级嵌套问题,包括双引号、单引号以及转义字符的正确使用方法。 ... [详细]
  • 在使用 PyInstaller 将 Python 应用程序打包成独立的可执行文件时,若项目中包含动态加载的库或插件,需要正确配置 --hidden-import 和 --add-binary 参数,以确保所有依赖项均能被正确识别和打包。 ... [详细]
  • Java虚拟机及其发展历程
    Java虚拟机(JVM)是每个Java开发者日常工作中不可或缺的一部分,但其背后的运作机制却往往显得神秘莫测。本文将探讨Java及其虚拟机的发展历程,帮助读者深入了解这一关键技术。 ... [详细]
  • WebBenchmark:强大的Web API性能测试工具
    本文介绍了一款名为WebBenchmark的Web API性能测试工具,该工具不仅支持HTTP和HTTPS服务的测试,还提供了丰富的功能来帮助开发者进行高效的性能评估。 ... [详细]
  • 本文详细介绍了如何使用C#实现不同类型的系统服务账户(如Windows服务、计划任务和IIS应用池)的密码重置方法。 ... [详细]
  • 深入解析Unity3D游戏开发中的音频播放技术
    在游戏开发中,音频播放是提升玩家沉浸感的关键因素之一。本文将探讨如何在Unity3D中高效地管理和播放不同类型的游戏音频,包括背景音乐和效果音效,并介绍实现这些功能的具体步骤。 ... [详细]
  • 视觉Transformer综述
    本文综述了视觉Transformer在计算机视觉领域的应用,从原始Transformer出发,详细介绍了其在图像分类、目标检测和图像分割等任务中的最新进展。文章不仅涵盖了基础的Transformer架构,还深入探讨了各类增强版Transformer模型的设计思路和技术细节。 ... [详细]
  • 本文回顾了作者在求职阿里和腾讯实习生过程中,从最初的迷茫到最后成功获得Offer的心路历程。文中不仅分享了个人的面试经历,还提供了宝贵的面试准备建议和技巧。 ... [详细]
  • 本文探讨了一种常见的C++面试题目——实现自己的String类。通过此过程,不仅能够检验开发者对C++基础知识的掌握程度,还能加深对其高级特性的理解。文章详细介绍了如何实现基本的功能,如构造函数、析构函数、拷贝构造函数及赋值运算符重载等。 ... [详细]
  • 随着Linux操作系统的广泛使用,确保用户账户及系统安全变得尤为重要。用户密码的复杂性直接关系到系统的整体安全性。本文将详细介绍如何在CentOS服务器上自定义密码规则,以增强系统的安全性。 ... [详细]
  • 服务器虚拟化存储设计,完美规划储存与资源,部署高性能虚拟化桌面
    规划部署虚拟桌面环境前,必须先估算目前所使用实体桌面环境的工作负载与IOPS性能,并慎选储存设备。唯有谨慎估算贴近实际的IOPS性能,才能 ... [详细]
  • [附源码]计算机毕业设计JAVAjsp医药管理信息系统
    [附源码]计算机毕业设计JAVAjsp医药管理信息系统项目运行环境配置:Jdk1.8Tomcat7.0MysqlHBuilderX(Webstor ... [详细]
  • 华硕TUF B360M-PLUS主板兼容Win7及安装指南
    本文详细介绍了如何在华硕TUF B360M-PLUS主板上安装Windows 7操作系统,包括必要的准备工作和具体的操作步骤。 ... [详细]
  • 如何禁用Windows 10的快速启动功能
    Windows 10系统中引入了快速启动功能,旨在加快系统的启动速度。然而,并非所有用户都喜欢这一功能,对于那些希望关闭它的用户来说,本文将详细介绍如何轻松地禁用快速启动。 ... [详细]
  • 本文提供了多种有效的方法来解决RPC(远程过程调用)服务器不可用的问题,包括通过修改注册表、使用SC命令以及利用故障恢复控制台等技术手段。 ... [详细]
author-avatar
1471446448_9c38cc
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有