您的位置:首页 > 编程语言 > C语言/C++

C++ 播放声音 (学习笔记)

2010-08-03 19:46 465 查看
一、播放系统的消息声音

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的文件了

更深入的运用,有待更进一步的学习!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: