DirectSound 及Waveout区别.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DirectSound 及Waveout区别

DirectSound 及Waveout区别 Q Directsound 和 Waveout 有何不同? A Waveout 是在32位的Windows上的一种老旧且过时,用来播放数字音讯的应用程序接 口(Application Programming Interface,简称API)。旧的Windows操作系统(如Win9x WinNT4)在 Wav eout 的完成度很高(因为 waveout 是针对这些操作系统设计的),如果你想获得最好 的效能,你应该在这些操作系统上使用 Waveout 输出。然而 Waveout 的功能有所局限 ,它无法支持「混和多重音讯流」的功能。这显示在Win2kXP下的 Waveout,只是为了 旧的软件的兼容性所提供的,也因此Win2kXP下 Waveout 的完成度很糟,它没有使用任 何的硬件加速功能,所有的混音动作都是用软件来执行(因此当CPU的使用率很高时,常 常会发生类似CD跳针的断音现象)。 Directsound 是种较新、较现代化的声音播放 API,都已经内建在最近的32位Windows操 作系统中。 Directsound 支持混和多重音讯流、独立的音量控制、硬件加速层及硬件仿真层(如果 某些功能硬件无法支持,可以用软件来仿真,因此程序设计师无须担心他们的新 l33t 码无法在旧的声霸卡16上运作)。一般来说,只要你的操作系统安装了适当的声卡驱动 程序及最新的 DirectX,Direstsound 都应该可以运作的很好(除了WinNT4以外)。在 Win2kXP下,Directsound 比 waveout 更好,因为在这些操作系统里,Directsound 的 完成度相对的比 waveout 来的更高(比 waveout 占用较少的CPU资源,自由度较高,且 不会有 Waveout 常见的小毛病)。Directsound 原本是被设计来让游戏利用系统的硬件 加速功能,而无须直接接触低阶的硬件函数(就如同 DirectX 其它的组件)。 Q 为何 Directsound 总是比 waveout 来的小声? A 在Win2kXP中,改变 waveout 的音量似乎会改变整体音量的设定,然而 Directsou nd 的音量是独立控制的。换句话说,你用 waveout 来播放音乐,你将音量设为50%,你 就会得到50%的音量,然后你用 Directsound 来播放,你将音量设为50%,你只会得到最 大音量的25%。解决之道:别使用 waveout,并在Windows的音量控制中将音量设为最大 。 Q Directsound 及 waveout 之间的声音输出品质有所不同吗? A1 在Win2kXP下(或者使用WDM驱动程序),waveout 及 Directsound 只有在传输 P CM 资料给 Windows kernel mixer 上有两点不同。waveout 只使用软件混音,因此较少 造成系统中的特殊问题,而 Dircetsound可以使用硬件混音,因此会造成某些已知的, 声音品质的问题。 A2 在Win9x下,Directsound 驱动系统完全的和 waveout 分离,并使用低阶的方式来 控制硬件,因此这就像拿两种不同的驱动程序来配合 waveout 及 Directsound。在使用 某些老旧的ISA接口的声卡时,Directsound 为了节省 ISA 总线的频宽,有着会将音讯 资料降低取样率至 22khz 8bit (或者其它相近的取样率)的问题。 Q 对于 Directsound 而言,软件混音及硬件混音有何不同? A 在 WinXP sp1、DirectX 8.1 中,无论是使用微软的 Directsound 核心或者是驱动 程序来进行硬件混音,都很容易碰到问题。目前已经证实,在 Winxp 下使用硬件混音来 传输音讯资料时,即使是使用不同的声卡,皆会碰上「取样频率」的问题。特别是某些 驱动程序存在已久的问题(著名的创新未来 Audigy 声卡 Skipping 问题,在某些设定 中会出现不间断、静态的杂音,甚至在某些例子中,会发生声音品质骤降的情形,天晓 得为何会如此!)。如果你想稳定的运作计算机,那建议你最好把硬件加速给关掉。硬 件混音可以 foobar2000 的偏好设定中的 Driectsound 这个字段里找到 quot;allow hardw are accelerationquot;。开启它不代表你就真的激活了这个功能(Directsound 会在没有可 用资源时自动使用软件混音)。 关于重新取样(resampling) Q 如果我使用重新取样的功能,能够增进(improve)声音的品质吗? A 不行,你无法利用重新取样来「增进」声音的

文档评论(0)

htfyzc + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档