C++播放声音
来源:互联网 发布:常石磊哥哥知乎 编辑:程序博客网 时间:2024/05/29 05:00
一、播放系统的消息声音
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的文件了
更深入的运用,有待更进一步的学习!
作者:JarvisChu 地址:http://www.cnblogs.com/JarvisChu
0 0
- [C#] DirectX 播放声音
- c++——使用PlaySound()播放声音
- 播放声音
- 播放声音
- 播放声音
- 播放声音
- 播放声音
- 【c#】C#中利用DirectX实现声音播放
- WinCE 下利用CoreDll.dll 播放声音(C#)
- C#.net winform 播放声音解决方案 Bass Library
- C语言播放声音最简单的两种方法
- Android studio使用ndk native c调用OpenSLES播放声音
- IOS-播放声音,中断声音
- ios 播放声音 播放震动
- C#播放声音
- 播放器的声音
- VC++实现声音播放
- 如何播放声音
- 预处理指令
- How to remove fields in a Word document
- 10.2.3.1 以函数方式使用数组
- 新版百度地图的覆盖物描述
- zy 1121
- C++播放声音
- 10071 - Back to High School Physics
- xzdfcsadsadsadsadsa
- NSURLProtocol和NSRunLoop的那些坑
- AWS认证助理架构师样题答案整理
- fmdb常见错误
- 手机能连接WiFi,却无法上网的问题
- 转载——大牛青春起点...Java第二课学习..
- 文本框只能输入数字,字母,中文