Web 版本检查以及为应用程序添加声音效果
2007-03-17 22:00:40 来源:WEB开发网核心提示: AppExit WAVE "res\STExit.wav"注意资源必须是一个 WAVE 文件——这个重要的细节到目前为止微软没有在文档中说明,资源编译器会将WAV文件嵌入EXE可执行文件,Web 版本检查以及为应用程序添加声音效果(5),这样你就
AppExit WAVE "res\STExit.wav"
注意资源必须是一个 WAVE 文件——这个重要的细节到目前为止微软没有在文档中说明。资源编译器会将WAV文件嵌入EXE可执行文件,这样你就可以像下面这样用 SND_RESOURCE 标志播放它了:
PlaySound("AppExit", AfxGetResourceHandle(), SND_RESOURCE);
PlaySound 需要包含资源的模块句柄,这个模块句柄可以通过调用 AfxGetResourceHandle (在大多数应用程序中,它获得的结果与 AfxGetInstanceHandle 相同)来获得。在前面的代码段中,资源标示符是一个字符串(“AppExit”),但如果你指定了 SND_ALIAS_ID 标志,也可以用一个整数 ID。
为了简化开发,我写了一个类:CSoundMgr,用这个类可以很容易在程序实现声音效果。CSoundMgr 可以让你定义逻辑声音并通过 ID 来播放。该类具备注册声音的函数,通过修改一个标志便可以让你的程序骤然间打破沉默。CSoundManager 甚至可以在你的资源文件中搜索默认的声音。为了示范该类的使用方法,我写了一个测试程序——SoundTest。它是一个典型的 MFC 基于对话框的程序。如 Figure 5 所示,程序运行画面中显示了应用程序当前的五个声音值。
Figure 5 SoundTest
SoundTest 定义声音的第一步是创建声音的 IDs。我用了一个枚举类型来处理五个声音:MYSND_HAPPY,MYSND_UNHAPPY 等等。注意不要使用 0 作为声音的 ID;因为 CSoundMgr::PlaySound(0) 停止播放当前的声音,作用相当于 ::PlaySound(NULL, NULL, 0)。定义了 IDs 之后,你便可以使用在 SoundMgr.h 文件中定义宏来建立声音映射表,就像下面这样:
- ››web安全之信息刺探防范1
- ››webqq 最新加密算法
- ››webdriver 数据库验证方法
- ››检查网络是3G WIFI或WAP
- ››WebSphere Application Server 7.0 XML Feature P...
- ››Web2.0网络时代基于社会影响力的声望值
- ››Web服务器搭建:配置Linux+Apache+Mysql+PHP(或Pe...
- ››本地行业网站细分化将网站做强
- ››WebLogic调整Java虚拟机性能优化参数
- ››webqq2.0协议研究(3)-ClientId生成
- ››Web.config配置文件
- ››WebBrowser组件的execWB方法——Delphi控制浏览器...
更多精彩
赞助商链接