I交互DircetXDirectSound以及Direct3Dsound音频媒体的程序设计.docVIP

I交互DircetXDirectSound以及Direct3Dsound音频媒体的程序设计.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
I交互DircetXDirectSound以及Direct3Dsound音频媒体的程序设计

微软所提供开发工具包括一系列专为游戏和交互DircetX DirectSound 以及 Direct3Dsound音频媒体的程序设计人员开发的强有力的工具。DirectX充分利用了声音加速硬件以尽可能的提高其运行速度,减少CPU的占用时间。但是,音频信号仍然对整个系统的运行产生着重大影响。本文所描述的技术将帮助用户使用DirectSound 以及Direct3DSound以减少音频重放对系统运行的影响。 前 言 微软所提供的开发工具中DirectX 波形声音重放设备是为支持在Windows 95 和Windows NT 中开发游戏和交互媒体应用程序而设计的。 DirectSound 和 Direct3DSound允许你在同一个三维空间中同时运行多个声音文件和移动声音源。只要有可能DirectX ,将充分利用声音加速设备来改善运行状况和减少CPU的使用。但这并不是说你可在三维程序空间运行、编译充斥着大量声音代码的程序,并且随心所欲地将其移来移去。如果你并没有注意如何使用计算机的声音资源你将很快发现,你的计算机的CPU周期绝大部分被你自己添加的一个户外历险游戏的44.1khz,16位立体声的优美声音所占去。 技巧 和 技术 首先,我们来谈谈一些有关的定义。你所熟悉的DirectSound包括以下一些术语: 从缓冲区: 是指用来执行波形数据的应用程序缓冲区。每个执行的波形文件都有一个从缓冲区,每个这样的缓冲区都有自己特定的格式。 主缓冲区: 是DirectSound的输出缓冲区。一般说来,应用程序并非将波形数据直接写入主缓冲区。相反,DirectSound首先在从缓冲区中将波形数据加以合成,然后输入主缓冲区中。注意:仅有一个主缓冲区,并且其格式决定了其输出格式。 静态缓冲区: 包含了内存中的一个完整的声音。因为,通过一次简单操作,你能在缓冲区中写入一个完整的声音。所以,他们对于用户十分方便。静态缓冲区通过声卡的合成加速执行。 流缓冲区: 仅仅为声音的一部分,利用它,我们并不需要大量的内存就能运行较长的声音文件。在利用流缓冲区时,用户必须周期性的在声音缓冲区中写入数据。但是,流缓冲区不能在硬件中进行声音合成。 我们将再次提到 DirectSound 合成器。这种 DirectSound 元件负责从缓冲区中将声音中按位隔行合成。然后执行诸如:音量大小、均衡调节(左右声道平衡)、频率转换,以及三维操纵等操作。当合成器不能识别你通过API存放的组件时(不同于上面所述的任一控制操作),这正是 DirectSound 的 CPU 核心所要做的。一些运行问题将在“ DirectSound 合成器发生了什么情况”的项目中加以讨论。下面的关于合成器和主、从缓冲区之间关系的示意图,将使读者清楚地了解他们之间的关系。 图通过一个简单的示意图阐明缓冲区和 DirectSound 合成器之间的关系 如果 DirectSound 开发小组成员见到上面的示意图,他们将对此不屑一顾。因为,合成器远比上图所展示的优秀。上图中,我并没有任何与合成器相关的三维组件,以及其他类型的进程。 既然,我们获得的背景知识远比上面所述的多,我们将进一步接触其他一系列对我们有用的东西。以下是帮助你最大限度的使用DirectSound功能的一个技术列表。 巧妙使用声音的技巧; 在主缓冲区中使用相同的格式; 将主缓冲区设置为最低存储速率的格式; 在短促频繁的无声时间间隔内连续地使用主缓冲区; 尽可能地使用硬件进行声音合成; 最大限度的保证控制变换; 使用延时的三维进程命令; 下面我们将对上面所述的各项技术作详细的说明。 一.巧妙使用声音的技巧 DirectSound的最为优秀的特征之一就是独立演奏、控制多声道音频信号的能力。一旦声音的设计者真正地掌握了它们,那么,真可以称得上是一本万利。唯一的花费只是CPU指令周期。每个你所使用的从缓冲区都将消耗CPU指令周期。每一次诸如频率量化等的进程操作都将带来CPU指令周期的额外消耗。三维声音将比常规声音消耗更多的CPU指令周期。这些读者能够想象得到吗? 你应该同你的声音设计者坐下来一起探讨一下全方位地利用声音演奏带来的强烈震撼(如果你自己本身就是程序员及声音设计者,那么你就自己一个人静下心来仔细领略一下),思考一下究竟是哪种声音在将你的渴望以久的经历传递给用户的过程中起着最为重要的作用。当可能减少从缓冲区的使用时,请采用声音预混技术。例如:如果你正在一个声道中模仿蟋蟀的低吟,而在另一个声道中记录了田蛙的欢唱以烘托出夏夜的氛围时,请将它们合成到一个声道中。 如果在

文档评论(0)

lisufan + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档