15.9 如何播放WAV文件

2013-10-07 00:34:32 · 作者: · 浏览: 60

15.9  如何播放WAV文件

在应用程序执行的过程中,如果能够适当地播放一段WAV文件作为操作提醒或者背景音乐,将会增加程序的用户友好性,下面代码演示如何播放一段WAV文件。

void CMFCDlg::OnOK() 
{
CString sFilePath = _T("C:\\1.wav");
::PlaySound(sFilePath, NULL, SND_FILENAME);
}
该代码演示了如何播放一个硬盘上的WAV文件,如果该文件不存在,Windows将播放一段默认的音频代替。为了防止硬盘上的WAV文件丢失或者损坏,可以在编写程序时将WAV文件作为资源导入到exe中,然后按照如下代码编写程序。
void CMFCDlg::OnOK() 
{
// IDR_WAVE为导入的WAV文件资源ID
::PlaySound(MAKEINTRESOURCE(IDR_WAVE), NULL, SND_RESOURCE);
}
使用PlaySound需要使用mmsystem.h头文件和winmm.lib库文件,可以修改stdafx.h文件(或其他适当文件)添加如下代码:
#include <mmsystem.h>
#pragma comment(lib,"winmm.lib")
注意:PlaySound函数将在WAV文件播放完毕之后才会返回,因此在某些情况下,注意播放尽量短的WAV文件,如果播放背景音乐等时间较长的WAV文件,可以单独创建线程进行。如果播放的音频文件为Mp3等文件类型,需要使用到DirectShow等技术,有兴趣的读者可以自行参考其他相关资料。
【责任编辑:夏书 TEL:(010)68476606】

回书目   上一节   下一节