windows声音应用程序开发指南_张新宇_第1章DirectXAudio之DirectSound

上传人:woxinch****an2018 文档编号:45264272 上传时间:2018-06-15 格式:PPT 页数:164 大小:716KB
返回 下载 相关 举报
windows声音应用程序开发指南_张新宇_第1章DirectXAudio之DirectSound_第1页
第1页 / 共164页
windows声音应用程序开发指南_张新宇_第1章DirectXAudio之DirectSound_第2页
第2页 / 共164页
windows声音应用程序开发指南_张新宇_第1章DirectXAudio之DirectSound_第3页
第3页 / 共164页
windows声音应用程序开发指南_张新宇_第1章DirectXAudio之DirectSound_第4页
第4页 / 共164页
windows声音应用程序开发指南_张新宇_第1章DirectXAudio之DirectSound_第5页
第5页 / 共164页
点击查看更多>>
资源描述

《windows声音应用程序开发指南_张新宇_第1章DirectXAudio之DirectSound》由会员分享,可在线阅读,更多相关《windows声音应用程序开发指南_张新宇_第1章DirectXAudio之DirectSound(164页珍藏版)》请在金锄头文库上搜索。

1、第1章 第1章 DirectX Audio之DirectSound 1.1 DirectX Audio介绍1,2,3,4 1.2 DirectSound介绍 1,5,6,7,8 1.3 DirectSound应用程序开发 5,6,7,8,91.4 本 章 小 结1,5,6,7,8第1章 1.1 DirectX Audio介绍1,2,3,4 1.1.1 DirectX发展历程现在从事DirectX开发的程序员恐怕对DirectX的历史并没有太多了解。也许程序员可能也并不关心其历史,因为这并不会影响程序员现在的工作。但是我仍 想在这里用一点篇幅介绍一下DirectX的发展历程,让那些无论是正在进行

2、或是准备进行DirectX开发的朋友们知道DirectX是在什么样的背景下诞生的,它经历了什么,现在正处于什么阶段,以及其它相关背景知识。 第1章 1DirectX的诞生众所周知,Windows 95是Microsoft在操作系统上的一个最重要的里程碑。DirectX有幸搭上了这趟列车,它是和Windows 95同时推出的,当时还不叫DirectX,而是称为Game SDK。我们可以认为Game SDK就是现在DirectX的前身。从Game SDK的字面意思我们就能大概理解它的内容,说白了,Game SDK就是在Windows 95下运行的、提供给游戏软件开发商使用的“游戏软件开发包”(Ga

3、mes Software Development Kit)。第1章 正是这种局面引起的困惑,才使Microsoft着手开发Game SDK。当时Game SDK的设计思想是:(1) Game SDK由许多速度很快、低层的库和API组成,这些库和API为游戏开发者提供最大限度的自由和对硬件的操作。(2) Game SDK对硬件开发的支持,由原来游戏开发商转移到硬件制造商,即由对硬件最为熟悉的硬件制造商来完成对自己硬件的支持软件,并且将最先进的硬件技术为游戏开发商所知。第1章 (3) 让游戏也成为真正的Windows应用程序,即支持多任务。你可以从一个游戏切换到同时运行的另一个应用程序,然后还可以

4、返回该游戏。(4) 要有能超过或者达到DOS环境下所能达到的性能。在使用Game SDK的情况下,游戏开发者不必关心游戏要运行在哪个制造商的硬件上,因为Microsoft把这些特性都封装在了硬件驱动程序和一系列API中,当然很多是由硬件制造商完成的,达到了开发时的硬件独立性。第1章 2DirectX的发展DirectX的发展历程如图1-1所示。DirectX的发展历程DirectX 8.0DirectX 7.0DirectX 6.0DirectX 5.0DirectX 3.0DirectX 2.0DirectX 1.0Game SDK图1-1 DirectX 的发展历程 第1章 1) Dire

5、ctX 1.0DirectX 1.0是Windows下第一个可以直接对硬件信息进行读取的程序接口,与早期的Game SDK相比有本质性的区别,可以令Windows下的图形处理速度与DOS媲美。 2) DirectX 2.0在这一段时间内,刮起了强烈的3D加速旋风,然而当时的DirectX在这一领域还是空白的。当时市场上出现的高性能3D图形加速卡在当时的DirectX下只能发挥其性能的1/10。 第1章 3) DirectX 3.0完整的Direct3D是随DirectX 3.0向公众发布的。当时的Direct3D被公布为“一个视频游戏开发平台,将成为进入视频游戏工业的驱动力”。 4) Dire

6、ctX 5.0从5.0版开始(没有DirectX 4.0),DirectX的多个部件按照应用目的被分为两大层次:DirectX Foundation层和DirectXMedia层。DirectX Foundation层为开发者提供一套“低级”API函数,以便应用程序能够充分利用3D图形加速芯片和声卡的各种高级特性。 第1章 DirectXMedia层则建立在DirectX Foundation层的基础之上,提供播放动画、播放多媒体数据流和交互控 制等高级服务。它也由四个部件组成:DiectShow、DirectAnimation、Direct3DRetainedMode和DirectPlay。

7、DirectXMedia使得应用程序只需使用一套API函数就能处理多种媒体数据,而不像以前那样,声音和图像要 分别使用不同软件厂商开发的API函数。 另外,DirectXMedia提供一种统一的定时机制来处理多媒体事件,使得开发者可以灵活地控制动画、视频和音频等数据的生成与同步播放。第1章 5) DirectX 6.01998年推出的DirectX 6.0版本相对于5.0新增了DirectMusic部件。DirectMusic由三个子部件组成:DirectMusicCore、DirectMuiscInteractive和DirectMusicProducer。在这个新版本中Direct3D功能

8、更强大,运行速度更快,并支持FlexibleVertex、多重材质及模板平面,程序得到大大优化。 第1章 6) DirectX 7.0DirectX 7.0在图形功能方面创建的图形多边形数目比以前版本都要多,这使得计算机生成的数字世界的 人物和物体的表面更加平滑。DirectX 7.0提供高级3D加速支持,使得多边形的变化更快,它所产生的动画效果非常逼真。 第1章 7) DirectX 8.0DirectX 8.0是Microsoft公司于2000年11月9日正式推出的一款DirectX的最新版本。它具有多项令人兴奋的功能特性。下面将对它的新增特性进行全面详细的介绍。 DirectX 8.0是

9、Windows操作系统下的最新的多媒体系统链接库。通过DirectX 8.0,其它软件能够尽情发挥系统的效能,并且带给我们最棒的多媒体体验和震撼效果。 第1章 DirectX 8.0的诸多强大功能和特性可以带来游戏与视听多媒体方面更为强大的功能。它可以让游戏在 3D真彩模式下运行得更为流畅,在电脑上看VCD或者是欣赏音乐的时候能够看见更为绚丽的画面,也能够体验到环绕音乐的魅力。 第1章 1.1.2 DirectX Audio概述从DirectX 6.1开始,DirectX Audio成为DirectMusic的一个扩展功能,而现在DirectX 8.0中把DirectSound和DirectM

10、usic合并在一起统称为DirectX Audio,可谓意味深长。一方面,通过合并实现了更为统一的核心API,DirectSound API和DirectMusic API在某些方面可以互补,DirectMusic可以被当作一种高级音频API用于多种音频流。 第1章 在DirectX 8.0中,DirectSound和DirectMusic这两个名字仍然会继续使用,但实际上DirectSound和DirectMusic之间的区别已经很小了。另一方面,通过加入大量的新特征和新机制,使控制更加灵活,功能更加完善和强大。第1章 DirectX Audio的功能并不只是用于播放音乐,它能够充分调用硬件

11、的加速功能、系统可下载功能以及3D特效环境来更好地营造出一个立体氛围的音乐环境。诸如在不同的游戏中会有各种各样的声音效果:脚步声从后面慢慢逼近,蜻蜓的嗡嗡声在你头边环绕,一 辆火车从左边飞驰而来DirectX Audio能够让你感受到空间的声音效果,它能够制造出声音从你身边发出的幻觉效果。第1章 DirectX 8.0 Audio 为播放集成的音乐和声音效果提供了新的体系结构。尽管仍然使用名称DirectSound和DirectMusic,但在它们之间已经没有明显的区别。希望将来 DirectMusic API能够成为创建交互式声音效果的首选 API。第1章 图1-2 DirectX 8.0

12、Audio体系结构第1章 Creative公司的部分EAX混响技术也整合进了DirectX Audio体系中。很早Microsoft就已经得到了Creative公司的授权许可使用该公司EAX(环境音效扩展技术)声音技术中的一些声音特效。这些效果包括 边缘处理、和声、环境回响等经由DirectSound和DirectMusic被增加到了DirectX 8.0中。 第1章 1.1.3 DirectX Audio新特征前面曾提到,在新的DirectX Audio体系结构中加入了不少新的特征,增加了控制的灵活性和功能的完善性。下面对这些新特征予以总结。(1) WAV文件和基于消息的声音集成在一个播放机

13、制中。WAV文件和资源现在可以通过 DirectMusic 加载器加载,并通过DirectMusic演奏器播放。应用程序不再需要分解WAV文件,并将其复制或流入 DirectSound 缓存。 第1章 DirectSound API并没有被丢弃,而仍然会得到支持,开发者仍然可以通过 DirectSound 缓存直接播放WAV文件(见后面的DirectSound部分)。DirectSound 仍将是用于WAV文件捕获和全双工的API。WAV文件和MIDI文件在处理的先后次序上享有同等的地位,并将采用同一机制对两者进行回放。由 于DirectX Audio支持了DLS2标准,因此一些MIDI音乐中

14、特有的音效处理也可以用在WAV文件上。 第1章 (2) “音轨”(Audio Track)模型更加灵活、强大。在以前版本的 DirectMusic 中,演奏通道被映射到端口,同时每个端口将其输出发送到一个独自的 DirectSound 缓存。在新的模型下,段落中的声道被映射到音轨,控制声音数据从演奏器流向最终输出设备。 第1章 (3) 可以对段落状态进行独立控制。段落的每个播放实例都有自己的音轨,因此可以单独修改每个段落状态的音量、音质和音调等参数。(4) DLS2合成。DirectMusic合成器现在基于 DLS2标准,能够提供更高质量的声音合成。DLS2 合成器的新特性包括六级封装、语音分

15、层、释放波形和额外的低频振荡器 (LFO,Low-Frequency Oscillators)。 第1章 (5) 特殊效果。DirectX媒体对象(Media Objects)可与声音缓冲区连接在一起,以增加各种音效,诸如音乐回声、二级 交互式3D音效(I3DL2,Interactive 3D Audio Level 2) 环境有关的声音回声、扭曲等标准音效和由DirectX Audio提供的回声效果,以及第三方提供的音效等。(6) 通过段落连接实现更强大的控制。作曲家可以在段落中设置许多点,指定从何处开始播放段落,从而维护段落与时间标志之间的关系。主段落可以包含连接到其它段落的任意点。 第1

16、章 (7) 实现了接近静音的通知类型。演奏通知事件现在有一个新的通知类型,这个通知类型的常量标志为 DMUS_NOTIFICATION_MUSICALMOSTEND,它表示队列中的最后一个主段落即将结束。这样,就给应用程序一个机会来安排播放新的段落。(8) 加强型MIDI控制器支持。现在循环消息支持“已注册的参数数目”(RPN,Registered Parameter Number)和“未注册的参数数目”(NRPN,Nonregistered Parameter Number)控制器变化。第1章 (9) 可实现段落无限次循环。新的 DMUS_SEG_REPEAT_INFINITE 标志使得一个段落可以播放无限多次。(10) 简化音乐波段的加载和卸载。段落对象调用一个简单的方法加载和卸载音乐波段。(11) 生成动态声轨数据。对于声轨,新的配

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号