MFC播放声音文件
来源:互联网 发布:宜兴俊知集团招聘2016 编辑:程序博客网 时间:2024/06/06 09:40
一.播放声音文件的简单方法
转载:http://www.cnblogs.com/starmo/archive/2010/08/07/1794832.html
在VC++ 中的多媒体动态连接库中提供了一组与音频设备有关的函数。利用这些函数可以方便地播放声音。最简单的播放声音方法就是直接调用VC++中提供的声音播放函数BOOL sndPlaySound ( LPCSTR lpszSound,UINT fuSound ); 或BOOL PlaySound( LPCSTR lpszSound, HMODULE hmod, DWORD fuSound );其中参数lpszSound是需要播放声音的.WAV文件的路径和文件名, hmod在这里为NULL,fuSound是播放声音的标志,详细说明请参考VC++中的帮助。 例如播放C:\sound\music.wav可以用sndPlaySound ( "c:\\sound\\music.wav ",SND_ASYNC);或PlaySound( "c:\\sound\\music.wav ",NULL, SND_ASYNC|SND_NODEFAULT );如果没有找到music.wav文件,第一种格式将播放系统默认的声音,第二种格式不会播放系统默认的声音。
二.将声音文件加入到程序中
在VC++的程序设计中,可以利用各种标准的资源,如位图,菜单,对话框等。同时VC++也允许用户自定义资源,因此我们可以将声音文件作为用户自定义资源加入程序资源文件中,经过编译连接生成EXE文件,实现无.WAV文件的声音播放。
要实现作为资源的声音文件的播放,首先要在资源管理器中加入待播放的声音文件(实现过程并不复杂,这里不在叙述)。假设生成的声音文件资源标识符为IDR_WAVE1。在播放时只需要调用下面的语句:
PlaySound(MAKEINTRESOURCE(IDR_WAVE1),AfxGetResourceHandle(), SND_ASYNC|SND_RESOURCE|SND_NODEFAULT|SND_LOOP);
其中MAKEINTRESOURCE()宏将整数资源标识符转变为字符串,AfxGetResourceHandle()函数返回包含资源的模块句柄,
SND_RESOURCE是必须的标志。
作为资源的声音文件的第二种播放方法是把资源读入内存后作为内存数据播放。具体步骤入下:
1.获得包含资源的模块句柄:
HMODULE hmod=AfxGetResourceHandle();
2.检索资源块信息:
HRSRC hSndResource=FindResource(hmod,MAKEINTRESOURCE(IDR_WAVE1),_T( "WAVE "));
3. 装载资源数据并加锁:
HGLOBAL hGlobalMem=LoadResource(hmod,hSndResource);
LPCTSTR lpMemSound=(LPCSTR)LockResource(hGlobalMem);
4.播放声音文件:
sndPlaySound(lpMemSound,SND_MEMORY));
5.释放资源句柄:
FreeResource(hGlobalMem);
- MFC播放声音文件
- MFC播放声音文件
- MFC使用Windows media player播放声音文件
- 播放声音文件
- 播放声音文件
- vc播放声音文件
- 用C#播放声音文件
- 移动程序播放声音文件
- 如何播放声音文件
- vc 播放声音文件
- c++播放wav声音文件
- c++播放wav声音文件
- VB中播放声音文件
- 播放ogg声音文件
- vc播放声音文件
- linux 播放声音文件程序代码
- C#中播放声音文件
- SDL下播放声音文件
- Windows 编程之服务-1
- 视图的作用
- Intel 64 and IA-32 架构的软件开发手册
- vim清空文件所有内容 cat 查找内容
- HDU-2092
- MFC播放声音文件
- kmp匹配算法
- 函数堆栈
- AJAX调用WCF的配置
- 泛型(generic)是C#语言2
- rqnoj-26-合唱队形
- HDU-2153
- O - Zjnu Stadium
- 黄鸿升《千分之一》荣登冠军 甜蜜温暖情寄七夕