vc6怎么使用playsound函數?
PlaySound是WindowsAPI函數,使用時需要在#include<windows.h>后面加上#include <mmsystem.h>、#pragmacomment(lib, "WINMM.LIB")。第一種方法是直接播出聲音文件,相應的代碼為:1
PlaySound("c:\\WINDOWS\\MEDIA\\The Microsoft Sound.wav", NULL, SND_FILENAME | SND_ASYNC);
注意參數中的路徑使用兩個連續的反斜杠轉義代表一個反斜杠。
第二種方法是把聲音文件加入到資源中,然后從資源中播放聲音。Visual C++支持WAVE型資源,用戶在資源視圖中單擊鼠標右鍵并選擇Import命令,然后在文件選擇對話框中選擇The Microsoft Sound.wav文件,則該文件就會被加入到WAVE資源中。假定聲音資源的ID為IDR_STARTWIN,則下面的調用同樣會輸出啟動聲音:
1
PlaySound((LPCTSTR)IDR_STARTWIN, AfxGetInstanceHandle(), SND_RESOURCE | SND_ASYNC);
////////上面的(LPCTSTR)可能需改成(LPCWSTR)
第三種方法是用PlaySound播放系統聲音,Windows啟動的聲音是由SystemStart定義的系統聲音,因此可以用下面的方法播放啟動聲音:
1
PlaySound("SystemStart",NULL,SND_ALIAS|SND_ASYNC);
函數sndPlaySound的功能與PlaySound類似,但少了一個參數。函數的聲明為:
BOOL sndPlaySound(LPCSTR lpszSound, UINT fuSound);
除了不能指定資源名字外,參數lpszSound與PlaySound的是一樣的。參數fuSound是如何播放聲音的標志,可以是SND_ASYNC、SND_LOOP、SND_MEMORY、SND_NODEFAULT、SND_NOSTOP和SND_SYNC的組合,這些標志的含義與PlaySound的一樣。
可以看出,sndPlaySound不能直接播放聲音資源。要用該函數播放WAVE文件,可按下面的方式調用:
sndPlaySound(“MYSOUND.WAV”,SND_ASYNC);