1DirectSound简介(Introduction to DirectSound)
曾经学习过Directshow的开发,对于Dsound一直没有仔细的莱学习,以前只是知道Dsound是做音频开发的,我一直以为它和Dshow的结构体系差不多,经过仔细学习后,发现,其实他们完全 两码事。
闲话少说,下面我们看看DirectSound到底能帮我们做些什么。
1播放WAVE格式的音频文件或者资源。
2可以同时播放多个音频。
3Assign high-priority sounds to hardware-controlled buffers
4播放3D立体声音
5在声音中添加特技效果,比如回声,动态的改变特技的参数等
6将麦克风或者其他音频输入设备的声音录制成wave格式的文件
呵呵,DirectSound就能做这么多事情,读到这里,我都有点怀疑DirectSound是不是就是封装了mmio系列和wav系列的函数。因为这些底层的API也能够完成这些事情。
2DirectSound初体验(Getting Started with DirectSound)
在开始本节内容前,我会首先提醒一下,如果你想用Directsound开发,那么你首先要包含Dsound.h头文件,其实我可以实话告诉你,你仅仅包含dsound.h你的工程肯定调补通,其实下面的一些头文件也要包含,我第一次就搞了半天才搞好,
#include <windows.h>
#include <mmsystem.h>
#include <mmreg.h>
#include <dsound.h>
如果你还想使用Dsound的API的话,那么你就要在你的vc开发环境中添加Dsound..lib库,
如果你的程序还提示有很多的外部链接找不到,那么我建议你可以将下面的库都添加到你的工程中comctl32.lib dxerr9.lib winmm.lib dsound.lib dxguid.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib,这些是我从Dsound提供的例子中得到的,肯定够你用的,ok,开发环境配置好了。
下面我们简单的来学习一下如果通过Directsound的API播放声音,既然是breif overview,那么详细的内容你可以参考下面的一节内容,这里只是简单的介绍一下播放声音的步骤。
第一步,创建一个设备对象。
在你的代码中你可以通过调用DirectSoundCreat8函数来创建一个支持IDirectSound8接口的对象,这个对象通常代表缺省的播放设备。当然你可以枚举可用的设备,然后将设备的GUID传递给DirectSoundCreat8函数。
注意,Directsound

本文是DirectSound开发的初步指南,介绍了DirectSound的基本功能,如播放音频、混音和3D立体声等。文章详细讲解了如何开始使用DirectSound,包括创建设备对象、辅助Buffer、播放音频数据的步骤,并探讨了DirectSound的实用开发技巧,如枚举设备、设置协作级别和使用设备对象。此外,还提到了DirectSound在多任务环境下的协作模式以及查询设备性能的重要性。
最低0.47元/天 解锁文章
2658

被折叠的 条评论
为什么被折叠?



