当前位置: 首页 > 图文教程 > 操作系统 > windows vista > Vista教程:音频流四种不同的音量控制方法

windows vista
微软开始提供Vista SP2更新拦截工具
国外网友惊疑: 微软Vista SP2可大幅释放硬盘空间
微软对新Windows 7/Vista降级权做出解释
让Synaptic触摸板支持双手指滚动的单文件
Vista SP2安装现Bug - 语言文件无法识别
Sun放出Java升级版 - 率先支持Vista/Server 2008 SP2
强行卸载Windows Vista SP2的两种方法
解决Vista下内置游戏无故丢失的问题的两种方法
Realtek HD音频驱动2.26版 For Vista/Windows 7
Vista系统内置游戏莫名失踪怎么办
Vista和Win 7开始启用其TCP半开连接数限制
教你使用Vista系统中的Windows会议室
如何通过修改注册表去除Vista/7右键公文包菜单
解决Vista操作系统还原后占内存的问题
让Windows Vista防火墙独当一面的设置方法
Vista系统在安装过程中无法识别硬盘
Vista&Windows 7防火墙大pk
浅析Vista SP2五大优势
缺失系统文件无需重装一样进入Vista系统
教你删除Vista系统的指定历史搜索记录

windows vista 中的 Vista教程:音频流四种不同的音量控制方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 121 ::
收藏到网摘: n/a

在Vista中,对于任何一个音频流都有四种不同的音量控制方式,它们是:

  1. 流音量(Stream Volume)

  2. 简单音量(Simple Volume)

  3. 通道音量(Channel Volume)

  4. 端点音量(EndPoint Volume)

  由于每种方式是一个增益级(gain stage),所以每一种都可以添加到音频输入采样中,并生成最终的音频输出流。


  图中的每个WASAPI实例表示一个音频流,这些流会在音频合成器(Mixer)中合并起来并“流向”音频驱动。流音量、简单音量、通道音量均通过向某个独立的音频流中插入一个APO实现,而端点音量则是在合成器后面添加一个APO或者用硬件音量控制来处理,这取决于用户的音频解决方案的功能。

  那么这些不同的音频控制有什么联系呢?

  首先来讲讲流音量。流音量是多通道音量,它对每个音频流起作用,可以让应用程序实现一些相对简单的3d效果(使用多通道流音量控制来模拟一个处于活动状态的球被弹起后的位置改变)。你可以让应用程序控制某个独立音频流的音量,但这种需求比较少。

  接下来是通道音量。通道音量是针对音频会话(session)的音量,用于控制整个会话中的所有音频流的音量(如果你还记得“大图”贴的话,其中讲到过一个会话包含了许多音频流)。通道音量之所以存在是因为有 waveOutSetVolume API——由于波形音量是多通道(立体声)音量,所以我们必须在WASAPI中模拟一个。同样的,这种音量也很少被使用——通常仅当从控制面板运行系统安装任务(空间修正(room correction))时才会改变通道音量,所以这一设置会影响所有的应用程序而不仅仅针对某个特定的应用程序)。

  再来则是简单音量。简单音量是这对音频会话的音量,用于控制整个会话中的所有音频流的音量。它是一种统一的音量,会平均应用到所有的通道。这也是我们希望大部分应用程序使用的音量控制方式——因为它提供了一种简单的控制应用程序音量和静音状态的方式,这种方式对于大部分应用程序已经足够了。这种音量其实就是Vista声音混合器中显示的每个应用程序的音量滑块。

  逻辑上讲,你可以把上面三个音量一起应用(但这其实不是事实,它们其实是同时被应用的)来为每个音频流创建最终音量。

  最后我们来讲端点音量。正如我以前提到过得,端点音量表示主音量(master output)输出,它是作用于最后合成的音频流的,可以对特定的端点起到主音量控制的作用。