VC++播放音频文件和音频数据的方法

最后更新于:2022-04-01 20:34:33

在程序中,很有可能会涉及到播放一些音频文件(比如:.wav文件)和音频数据,这个问题怎么解决呢?VC++中想要播放一个音频文件(.wav)是很容易的,只要调用WIndows API函数PlaySound()就可以了,但是,如果您想播放自己在程序中产生的一段音频数据,就不是那么简单了,需要利用WIndows wave I/O API的几个函数来实现。 下面结合实例来说明(**完整实例可在我的CSDN资源中下载:[http://download.csdn.net/detail/margin1988/3677328](http://download.csdn.net/detail/margin1988/3677328)**,该例子利用WIndows wave I/O API 函数,实现了播放自定义的一段音频数据(通过sin()函数产生);并且使用了PlaySound()函数播放“250.wav”文件): ~~~ //需包含的头文件 #include #pragma comment(lib,"winmm.lib") //PlaySound()函数和其他WIndows wave I/O API 函数的使用 #include "math.h"//sin()函数的使用 ~~~ 1.播放文件: ~~~ CString path; path.Format("%s250.wav",g_BasePath); //g_BasePath的取值不用多说,前面已详细介绍了。 PlaySound(_T(path),0,SND_FILENAME|SND_ASYNC); ~~~ 2.播放数据: (1)确定音频数据的格式及内容: ~~~ int rate=1000; //刺激率 int sampleRate = 44100; //采样率 const int NUMPTS = (int) (44100 * 0.5); // 0.5s short int waveOut[NUMPTS];//音频数据 //内容 for (int i=0;i ';