使用playsound播放小音乐的方法.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
使用PlaySound函数播放小尺寸WAVE音频的过程 第一步:把“tel_dial.WAV”拷贝到工程目录“\res”下面。 第二步:进行添加资源的操作 接着 再接着: 到上此步,千万不要将“Open as”选为“Custom”。我就范过这个错误。 对资源ID进行改名。因为我要播放的是电话呼叫音,所以起名“IDR_WAVE_DIAL_TEL”。 第三步:导入声音头文件库 #include mmsystem.h //导入声音头文件 #pragma comment(lib,winmm.lib) //导入声音头文件库 把以上两行添加在“PlayResWaveTestDlg.h”的末尾。 第四步:编写播放停止的按钮 播放: PlaySound((LPCTSTR)IDR_WAVE_DIAL_TEL, AfxGetInstanceHandle(), SND_RESOURCE | SND_ASYNC |SND_LOOP); 停止就顺理成章的写为: PlaySound(NULL, AfxGetInstanceHandle(), SND_RESOURCE | SND_ASYNC |SND_LOOP); 可实际当中,怎么也不能停止播放。真正可以停止播放的是以下调用方式。 PlaySound(NULL, AfxGetInstanceHandle(), SND_MEMORY | SND_ASYNC |SND_LOOP); 个中原因我也没有深入下去,我想可能有这么一个解释。播放小尺寸WAVE文件,PlaySound会将音频资源存入一个放音缓冲中去。如果想停止的话,就先要清空放音缓冲才行。 // test2.cpp : Defines the entry point for the application. // #include stdafx.h #include mmsystem.h int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { // TODO: Place code here. PlaySound(TEXT(C:\\WINNT\\Media\\tada.wav),NULL,SND_FILENAME|SND_ASYNC|SND_LOOP); // // MessageBox(NULL , TEXT(你是笨蛋) ,TEXT(测试) ,MB_OK|MB_OKCANCEL); // SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, 2); //关闭显示器 return 0; } 播放声音文件 (1)用途:游戏里播放音乐;自己动手给女友做音乐贺卡(图片、滚动的字母、温馨的音乐) (2)可以使用PlaySound()函数播放声音文件,该函数原型位于#include mmsystem.h中, 因此要使用PlaySound,首先需要添加对这个头文件的引用。 提示:mm就是MultiMedia的简写,多媒体 (3)函数原型为: BOOL PlaySound(LPCSTR pszSound, HMODULE hmod,DWORD fdwSound); 返回值表示是否播放成功。 参数pszSound是要播放声音的文件名,只支持WAV等格式的文件;去用“wav”为关键词可以搜到很多wav音乐,也可以用工具将其他格式的转换为wav格式的。 参数hmod是应用程序的实例句柄,一般传递NULL就可以; 参数fdwSound是标志的组合掩码,可选值有SND_FILENAME、SND_ASYNC、SND_SYNC等。SND_FILENAME表示pszSound参数指定的是文件名(pszSound还可以指定资源、内存音乐、系统音乐等等);SND_ASYNC:用异步方式播放声音,PlaySound函数在开始播放后立即返回;SND_SYNC:同步播放声音,在播放完后PlaySound函数才返回;SND_LOOP一遍遍的重复播放声音,必须与SND_ASYNC标志一块使用。 (4)使用举例: PlaySound(TEXT(C:\\WINDOWS\\Media\\Windows XP 启动.wav),NULL,SND_FILENAME|SND_SYNC); 注意的问题:文件名中的反斜线要用“\\”,因为C语言中“\”默认是转义符,如果要表示“\”则

文档评论(0)

展翅高飞2020 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档