游戏程序设计教程——从游戏引擎构建到实际应用 作者 万立中 万立新 Chapter_10.pptVIP

游戏程序设计教程——从游戏引擎构建到实际应用 作者 万立中 万立新 Chapter_10.ppt

  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文档。上传文档
查看更多
第10章 为引擎添加声音模块 内容提纲 10.1 资源交换文件格式 10.2 资源交换文件的操作 10.2.1 打开与关闭 10.2.2 文件的读写 10.2.3 文件的定位 10.3 波形文件读取 10.3.1 波形文件结构体 10.3.2 编写波形文件读取类 10.4 波形文件播放 10.4.1 DirectSound概述 10.4.2 在开发环境中设置DirectX SDK 10.4.3 DirectSound对象创建及初始化 10.4.4 声音缓冲区的创建 10.4.5 缓冲区声音的播放与控制 10.5 DirectSound操作类的创建 10.5.1 AudioDXBuffer类的定义与实现 10.5.2 AudioDX类的定义与实现 10.6 为菜单类添加音效处理 10.7 声音模块应用实例 10.8 游戏引擎小结 第10章 为引擎添加声音模块 Windows游戏中,常用的声音格式是WAV格式,它的文件扩展名是.wav,支持从8KHz至44KHz的频率,可以保存单声道以及多声道的声音 WAV(Waveform Audio File Format)格式即波形音频文件格式,是微软为Windows专门设计的多媒体文件格式之一 微软还专门设计了另一种多媒体格式,AVI格式(Audio/Video Interleaved File Format,音频视频交互文件格式) 微软将WAV格式和AVI格式称为资源交换文件格式(Resource Interchange File Format, RIFF) 微软为RIFF文件提供了专门的输入输出服务,也就是多媒体文件的输入与输出(MultiMedia file Input and Output, MMIO) 10.1 资源交换文件格式 RIFF文件由三部分组成:文件头、数据类型标识及块(Chunk)。 块是RIFF文件的基本构成,每个块又有三个组成部分: (1)块类型标识,它是4字符代码 如“RIFF”、“LIST”和“fmt”、“data”等 (2)数据块字节大小; (3)数据本身 10.1 资源交换文件格式 RIFF文件中块的组成可以嵌套,块数据可以包含若干子块,子块又可包含各自的子块。 RIFF文件本身就是一个RIFF块,其数据可以是WAV子块或AVI子块。 如果是包含的是WAV子块的话,WAV子块又可以包含自己的子块,如格式块(“fmt”)和数据块(“data”)等等。 RIFF文件具有相同的结构,无论是WAV格式还是AVI格式,其结构都是一样的 为了操作RIFF文件,微软在提供的多媒体软件开发包和多媒体输入输出API中,定义了专门的数据类型、结构以及宏。 由于块类型标识是4字符代码,MMIO中专门定义了FOURCC数据类型,FOURCC就是FOUR Character Code的缩写,即四字符代码; 另外还定义了mmioFOURCC宏,用来构造FOURCC类型; 为了读写RIFF文件,MMIO中专门定义了标准数据结构块MMCKINFO 10.2 资源交换文件的操作 10.2.1 打开与关闭 打开RIFF文件可以使用mmioOpen函数 该函数除了可以打开标准文件外,还可以打开内存文件。 10.2.2 文件的读写 要从RIFF文件中读取数据,需要使用mmioRead函数 将数据写入RIFF文件,可以使用mmioWrite函数 函数成功执行,将返回实际写入的字节数 如果写入错误,返回值为-1。 10.2 资源交换文件的操作 10.2.3 文件的定位 对于一个使用mmioOpen函数打开的文件,可以使用mmioSeek函数改变文件的当前位置 该函数执行后,返回一个相对于文件头字节数的新位置 如果执行出错,返回-1。 mmioDescend函数可以进入RIFF文件块 如果其返回值为MMSYSERR_NOERROR(= 0),表示函数执行成功 否则可能的返回值为MMIOERR_CHUNKNOTFOUND。 mmioAscend函数可从RIFF文件块中移出 函数返回值为MMSYSERR_NOERROR(= 0),表示成功执行 否则返回值为MMIOERR_CANNOTSEEK或MMIOERR_CANNOTWRITE 10.3 波形文件读取 波形文件是一种数字文件,其特点是能够较好地还原原始声源的效果。在音乐、歌曲的录制时,常常采用波形文件格式。 WAV格式已经获得Windows平台及Windows应用程序的广泛支持,它可以采用多种压缩算法,而且支持多种音频位数、采样频率以及不同的声道。 如果采用44.1kHz的采样频率和16位的量化位数,其音质与CD不相上下。 波形文件格式除了WAV格式,有时还会采用AU格

您可能关注的文档

文档评论(0)

118压缩包课件库 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档