|
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】
|