分享

C++ 播放声音

 semo_zhang 2013-01-07
一、播放系统的消息声音
   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格式声音
    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的文件了
更深入的运用,有待更进一步的学习

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多