- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MFC播放声音文件
一.播放声音文件的简单方法 在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中播放WAV文件的方法??
2008-03-21 13:16:32|??分类: VC__资料 |??标签: |字号大中小?订阅
一、使用PlaySound()函数
该函数的原型的是:
BOOL PlaySound(
???? LPCSTR pszSound,??
???? HMODULE hmod,?????
???? DWORD fdwSound????
)
其中,参数pszSound指定要播放文件的文件名,若该参数为NULL,则停止正在播放的声音;
??????? 参数hmod说明资源的句柄;
??????? 参数fdwSound则指定该命令的标志,也就是说明播放WAV文件的方式,可以取以下值:
标志 说明 SND_ASYNC 异步播放声音 SND_SYNC 同步播放声音(默认) SND_NODEFAULT 若pszSound指定的文件找不到,不使用默认声音 SND_MEMORY pszSound指向的一个内存文件 SND_LOOP 循环播放声音,直到下一次调用PlaySound()且pszSound参数为NULL,此标志要与SND_ASYNC一起使用 SND_NOSTOP 不停止当前正在播放的任何声音 SND_RESOURCE 表示pszSound是一个资源的标识符,而hmod则是包含这个资源的一个实例 SND_FILENAME
您可能关注的文档
最近下载
- 北京十三中分校2024-2025学年九年级上学期月考物理试卷(9月份).pdf VIP
- NBT10731-2023年煤矿井下防水密闭墙设计施工及验收规范.docx
- 手术室护理质量改进与患者满意度提升.pptx VIP
- 2021年北京市房屋修缮工程计价依据——预算消耗量标准 安装工程 第七册 通风空调工程.docx
- 一种立轴半伞式水轮发电机组刚性支撑电动盘车方法.pdf VIP
- 分析三年级下册口算题大全(可直接打印).h.docx VIP
- 水葫芦资源化利用报告表.pdf VIP
- 高中英语3500词【打印版】乱序版3500词汇(带音标120页).pdf VIP
- 《中国历史文化名镇(村)评价指标体系》(试行).pdf VIP
- 认识旅行社计调部课件(共23张PPT)《旅行社计调业务》(中国言实出版社).pptx VIP
文档评论(0)