DirectSound应用,播放wav文件

本文介绍了如何在项目中使用DirectSound播放WAV文件。通过包含dsound.h头文件并定义相关接口,但在实际操作中可能会遇到未解析外部符号的错误,如_IID_IDirectSoundBuffer和_IID_IDirectSoundNotify。解决这个问题的关键是链接dxguid.lib库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在项目的源文件中包含dsound.h头文件,分别定义DirectSound接口和主、辅助缓冲区接口的全局变量,以及保存WAV音频格式的文件头结构。


声明代码如下:

//--D3D用的头文件
#include <d3d9.h>
#include <d3dx9.h>
#include <stdio.h>
#include <dsound.h>
LPDIRECTSOUND8	g_pDirectSound = NULL;	//DirectSound接口
LPDIRECTSOUNDBUFFER g_pPrimaryBuffer = NULL;//主缓冲接口
LPDIRECTSOUNDBUFFER8 g_pSecondaryBuffer = NULL;//辅助缓冲接口

WAV文件的文件头定义如下:

struct WAVE_HEADER
{
	char riff_sig[4];	//RIFF
	long waveform_chunk_size;	//8
	char wave_sig[4];	//WAVE
	char format_sig[4];	//FMT
	long format_chunk_size;	//16
	short format_tag;	//WAVE_FORMAT_PCM
	short channels;    //声道数
	long sample_rate;	//采用频率
	long bytes_per_sec;	//播放速度 字节/秒
	short block_align;	//sample block alignment
	short bits_per_sample;	//位/秒
	char data_sig[4];	//data
	long data_size;		//音频数据大小
};



评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值