VC++中實現報警聲音

一、播放系統的消息聲音

  1. BOOL WINAPI MessageBeep( __in  UINT uType);  
   MSDN 中對這個函數的說明是:播放一個波形文件(也就是wav格式),每一個聲音類型的波形聲音在註冊表中有一個條目(entry)指定.
  1. MessageBeep(MB_OK);  
  2. Sleep(3000);  
  3. MessageBeep(MB_ICONWARNING);  
  4. Sleep(3000);  
  5. MessageBeep(MB_ICONSTOP);  
  6. Sleep(3000);  
  7. MessageBeep(MB_ICONERROR);  
  8. Sleep(3000);  
  9. MessageBeep(MB_ICONEXCLAMATION);  

二、播放mav格式聲音

  1. BOOL PlaySound(LPCTSTR pszSound,HMODULE hmod,DWORD fdwSound);  
    具體的函數詳情參照MSDN吧
    一個簡單實例如下
  1. PlaySound("C:/love.wav",AfxGetInstanceHandle(), SND_FILENAME|SND_ASYNC );  

三、利用MCI 接口實現播放任意格式聲音

  1. #include <mmsystem.h> //導入聲音頭文件庫   
  2. #pragma comment(lib,"winmm.lib")//導入聲音的鏈接庫  
然後直接用mciSendString函數即可  
  1. mciSendString("open C:/123.mp3" , NULL, 0, 0);  
  2. mciSendString("play C:/123.mp3 ", NULL, 0, 0);   
上面兩條 便可以播放 C盤下的123.mp3 了

具體的mci 編程,有待進一步的學習


四、利用強悍的MCIWndCreate()函數

  1.  HWND m_hwndMCI;  
  2. if(m_hwndMCI!=NULL) //建立一個MCIWND 窗口  
  3. {  
  4.    MCIWndDestroy(m_hwndMCI);  
  5. }  
  6. int type=0; //隱藏默認工具欄0 表顯示  
  7. CString filename="C:/123.mp3"//要播放的文件文件名  
  8. m_hwndMCI=MCIWndCreate(m_hWnd,AfxGetInstanceHandle(),type,filename);  
  9. MCIWndPlay(m_hwndMCI);  

五、利用Windows Media Player 控件

通過project--->add to project--->Components and Controls -->Registered ActiveX Controls--->Windows Media Player
Insert這個控件後,我們project中會自動添加17個類,這些都是Windows Media Player 控制相關的,同時我們的UI設計時的tools bar 中會多
出一個控件,那就 Windows Media Player ,拖到窗口上就能使用。
我們可以把這個控件關聯成Control 類型的變量,這樣,程序中就利用這個變量來設置WMPlayer。
如我們添加成變量名爲:m_ctlWMPlayer,則利用,m_ctrWMPlayer.SetUrl("C:/123.mp3"),就可以播放我們c盤下的名爲123.MP3的文件了

更深入的運用,有待更進一步的學習!


六、播放蜂鳴

使用函數Beep 播放不同頻率的蜂鳴
  1. BOOL WINAPI Beep(  
  2.   __in  DWORD dwFreq,    //頻率  
  3.   __in  DWORD dwDuration //持續時間  
  4. );  
如:
  1. while(1)    Beep(5000,500);  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章