C++ 播放声音 (学习笔记)
2010-08-03 19:46
465 查看
一、播放系统的消息声音
[/code]
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);[/code]
二、播放mav格式声音
BOOL PlaySound(LPCTSTR pszSound,HMODULE hmod,DWORD fdwSound);
具体的函数详情参照MSDN吧
一个简单实例如下
PlaySound("C:/love.wav",AfxGetInstanceHandle(), SND_FILENAME|SND_ASYNC );[/code]
[/code]
三、利用MCI 接口实现播放任意格式声音
#include <mmsystem.h> //导入声音头文件库 #pragma comment(lib,"winmm.lib")//导入声音的链接库[/code]
然后直接用mciSendString函数即可
mciSendString("open C:/123.mp3" , NULL, 0, 0); mciSendString("play C:/123.mp3 ", NULL, 0, 0);[/code]
上面两条 便可以播放 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);[/code]
五、利用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的文件了
更深入的运用,有待更进一步的学习!
相关文章推荐
- C++ 播放声音 (学习笔记)
- C#学习笔记——简单的声音播放
- opencv [c++版] 学习笔记(1) 显示图像及播放视频
- C#学习笔记——简单的声音播放
- opencv [c++版] 学习笔记(2) 在MFC基于对话框界面上播放视频
- debian学习笔记7, mplayer smplayer详细配置说明.解决播放视频没有画面只有声音,w32codecs.w74codecs插件配置.
- 设计模式C++学习笔记之四(Multition多例模式)
- C++程序设计(第二版)第二章学习笔记
- 设计模式C++学习笔记之二(Proxy代理模式)
- C++学习笔记:继承
- 设计模式C++学习笔记之二(Proxy代理模式)
- C++学习笔记碎屑--结构体与构造函数
- C++学习笔记1
- C++播放声音
- The C++ Programming Language 学习笔记 第四章 类型和声明
- C++学习学习笔记第1课
- c++学习笔记--socket
- C++学习笔记:Container和Iterator
- C++ 课本学习笔记(1)
- 深度探索c++对象模型 学习笔记 chapter2-1 default constructor