《Visual C++高级编程 第九讲.ppt》由会员分享,可在线阅读,更多相关《Visual C++高级编程 第九讲.ppt(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Visual C+Visual C+高级编程高级编程使用DirectSound建立DirectSound必要的头文件以及链接时需要的库文件:dsound.h、mmreg.h、mmsystem.h Dxguid.lib、Dsound.lib、Winmm.lib建立DirectSound对象:其方法与DDRAW类似,首先创建DirectSound对象,然后设置程序协调层级,创建缓冲区并设置播放格式,最后调用播放和控制函数实现声音的播放和控制。缓冲区的概念DirectSound使用缓冲区来实现声音的播放,它包括两种类型的缓冲区:主缓冲区与次缓冲区。其关系如下:多个次缓冲区声音1声音2声音3主缓冲区单
2、音混音PLAY缓冲区的创建与设置创建缓冲区与DDRAW类似:P312P314设置播放格式:在建立一个主缓冲区后,接下来设置其播放的格式,以改变声音播放的质量与效果。采用SETFORMAT来设置播放格式的各项参数,如:声道、播放频率等。加载WAVE声音文件与DDRAW显示图片类似,在播放声音之前必须加载声音文件。WAVE声音格式:它是一种符合RIFF规格的一种多媒体文件,利用区块的方式来存储文件。一般情况下,WAVE文件包含两类区块:文件格式区块和数据区块。加载声音文件的方法要读取多媒体文件,可以利用WINDOWS所提供的多媒体函数库WINMM.LIB,其方法如下:定义HMMIO类型的结构,用来
3、表示打开的多媒体文件;调用MMIOOPEN函数打开特定的声音文件;检测类型;查找FMT区块和DATA区块,获取声音文件格式和内容;关闭文件。P317P318 声音文件的加载建立次缓冲区并加载声音与DDRAW类似,建立次缓冲区,其方法见P319P320建立次缓冲区后,就可以把从声音文件中加载的数据读入次缓冲区中。其方法如下:声明指针并锁定次缓冲区;读取声音文件数据;解除锁定。声音的播放和控制播放声音使用Play和Stop这两个方法,分别播放声音和停止声音播放。制作混音效果:混音就是将多种声音波形混合成为一种声音波形。在DirectSound中由各个次缓冲区中声音数据复制到主缓冲,自动进行混音操作,然后将结果输出。控制声音调整声音大小:方法为SetVolume,所传入参数为0-10000之间。DirectSound不具备声音放大的功能,只能往下调。调整播放声道:用来控制左、右声道的声音大小,方法为:SetPan,所传入的参数在-1000010000之间。负越大代表左声道声音越大。使用3D音效3D音效的概念:最大距离与最小距离位置速度发声者锥倾听者面对方向建立倾听者;建立发声者;