PlaySound是Windows用于播放音乐的API函数(方法)。在vs2010以上版本需要加入#pragmacomment(lib,"winmm.lib")才能使用PlaySound。
方法/步骤
1、函数原型为BOOLPlaySound(LPCSTRpszSound,HMODULEhmod,DWORDfdwSound);
2、参数pszSound是要播放声音的文件名,只支持WAV等格式的文件,
3、参数hmod是应用程序的实例句柄,一般传递NULL就可以,
4、SND_FILENAME表示pszSound参数指定的是文件名(pszSound还可以指定资源、内存音乐、系统音乐等等);SND_ASYNC:用异步方式播放声音,PlaySound函数在开始播放后立即返回;SND_SYNC:同步播放声音,在播放完后PlaySound函数才返回;SND_LOOP一遍遍的重复播放声音,必须与SND_ASYNC标志一块使用。
举例:
1、PlaySound(TEXT("C:\WINDOWS\Media\WindowsXP启动.wav"),NULL,SND_FILENAME|SND_SYNC);
2、注:在vs2010环境下,需要加上#pragmacomment(lib,"winmm.lib")【如果说的是multimediaAPI,直接在源代码里面加一行#pragmacomment(lib,"winmm.lib")
方法/步骤2:
1、作为资源的声音文件的第二种播放方法是把资源读入内存后作为内存数据播放。具体步骤入下:
2、 1.获得包含资源的模块句柄: HMODULEhmod=AfxGetResourceHandle();
3、2.检索资源块信息: HRSRChSndResource=FindResource(hmod,MAKEINTRESOURCE(IDR_W***E1),_T("W***E"));
4、3.装载资源数据并加锁: HGLOBALhGlobalMem=LoadResource(hmod,hSndResource);LPCTSTRlpMemSound=(LPCSTR)LockResource(hGlobalMem);
5、4.播放声音文件: sndPlaySound(lpMemSound,SND_MEMORY));
6、5.释放资源句柄: FreeResource(hGlobalMem);