环境:windows10+vs2017
音频格式要求:.wav (8位24khz)(这是默认的)
directx只能播放wav格式文件
DirectSound提供了各种音效处理的支持,如:低延迟、3d立体和协调硬件等功能
vs2012开始,vs已经集成directx
步骤:
- 创建DirectSound对象
- 设定协作等级(协调使用硬件的权限)
- 创建主缓存区
- 从音频文件加载音频到次缓冲区
- 播放音频
相关概念:
- 主缓存区:DiectSound播放声音、产生混音效果的区域。默认播放格式是(8bit,22kHz)如果不需要播放其他格式(指的是不同位,不同频率的音频,但是都是wav格式),就不需要手动创建主缓存区,否则需要先创建主缓冲区(16bit,44kHz),对其格式进行设定。(相当于舞台)
- 次缓冲区:主要用于存储要播放的音频数据及播放格式,可以建立数个次缓冲区来存放多个要播放的声音(相当于舞台幕后)
示意图:
WAVE音频文件格式:
是RIFF文件(Resource InterChange File Format ),DirectSound只接受“.wav”文件
使用到的类:
窗体程序基本就用到CMyApp,CMyWnd
其余就是:
LPDIRECTSOUND;
LPDIRECTSOUNDBUFFER ;
HRESULT
代码:
#include <afxwin.h>
#include <mmsystem.h>
#include <dsound.h>
//常量定义
//#define SOUND_FILE_NAME "SOUND.WAV";
//线程部分
HANDLE t