C++ 播放聲音 (學習筆記)

來源:互聯網
上載者:User
文章目錄
  • 二、播放mav格式聲音
  • 三、利用MCI 介面實現播放任意格式聲音
  • 四、利用強悍的MCIWndCreate()函數
  • 五、利用Windows Media Player 控制項
  • 六、播放蜂鳴
一、播放系統的訊息聲音
  BOOL WINAPI MessageBeep( __in  UINT uType);

   MSDN 中對這個函數的說明是:播放一個波形檔案(也就是wav格式),每一個聲音類型的波形聲音在註冊表中有一個條目(entry)指定.

MessageBeep(MB_OK);Sleep(3000);MessageBeep(MB_ICONWARNING);Sleep(3000);MessageBeep(MB_ICONSTOP);Sleep(3000);MessageBeep(MB_ICONERROR);Sleep(3000);MessageBeep(MB_ICONEXCLAMATION);

二、播放mav格式聲音
BOOL PlaySound(LPCTSTR pszSound,HMODULE hmod,DWORD fdwSound);

    具體的函數詳情參照MSDN吧

    一個簡單一實例如下

PlaySound("C:/love.wav",AfxGetInstanceHandle(), SND_FILENAME|SND_ASYNC );
三、利用MCI 介面實現播放任意格式聲音
#include <mmsystem.h> //匯入聲音標頭檔庫 #pragma comment(lib,"winmm.lib")//匯入聲音的連結庫

然後直接用mciSendString函數即可  

mciSendString("open C:/123.mp3" , NULL, 0, 0);mciSendString("play C:/123.mp3 ", NULL, 0, 0); 

上面兩條 便可以播放 C盤下的123.mp3 了

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

四、利用強悍的MCIWndCreate()函數
 HWND m_hwndMCI;if(m_hwndMCI!=NULL) //建立一個MCIWND 視窗{   MCIWndDestroy(m_hwndMCI);}int type=0; //隱藏預設工具列0 表顯示CString filename="C:/123.mp3"; //要播放的檔案檔案名稱m_hwndMCI=MCIWndCreate(m_hWnd,AfxGetInstanceHandle(),type,filename);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的檔案了
更深入的運用,有待更進一步的學習!

-

-------------------------------------------------------------------------------------------------------

2013-5-25 22:11::00 更新
六、播放蜂鳴使用函數Beep 播放不同頻率的蜂鳴

BOOL WINAPI Beep(  __in  DWORD dwFreq,    //頻率  __in  DWORD dwDuration //期間);

如:

while(1)Beep(5000,500);

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.