[原创+连载]一步一步做拼图游戏,C++版(六)
来源:互联网 发布:软件系统结构图 编辑:程序博客网 时间:2024/04/28 21:54
添加声音
声音是听觉部分,而且为了将来用起来更方便,或者说修改的时候更方便,我们还是要新建一个类,叫。
代码量不大。
PlaySound我们主要是用它来播放背景音乐,就是这句,里面的参数稍微解释一下,第一个是文件名,第二个是指向应用程序模块的指针,一般的都是,第三个是播放选项,我用的3异步播放就是指我可以边播放这个,边做其他事,相当于背景音乐,从执行上看,就是这个在播放,我的程序还会继续往下执行,如果这个指定的是的话,为同步播放,就是程序会卡在这里,直到声音播放完后再往下执行。
PlaySoundOK感觉上,再用一次就了,但是,只能同时播放一个声音文件,再一次用PlaySoundSND_NOSTOPSND_NOSTOP所以,我在这里采用了的方法。这个稍微有一点复杂,大家尽量理解,我尽量详细说,因为我所知道的也比较有限。
有两个方法,一个是一个是前面的比较简单,但是无奈的是我试验了半天也不成功……惭愧惭愧……
的用法看这个网址就差不多了
我来说几句的。
->->->这个打开是很标准的打开方法,这里要用到一个变量,用来保存和设置打开的属性。我们的必要工作是设置类型和资源名,就是以下两句
mciOpen.lpstrDeviceType = _T("waveaudio");//wavMP3"mpegvideo"
mciOpen.lpstrElementName = Filename;
CD然后这样就打开了。下面是他的声明:
- MCIERROR mciSendCommand(
- MCIDEVICEID wIDDevice, //设备的ID,在打开设备时不用该参数
- UINT uMsg, //命令消息
- DWORD fdwCommand, //命令消息的标志
- DWORD dwParam //指向包含命令消息参数的结构
- ); //若成功则返回0,否则返回错误码
打开之后很重要的是保存设备,因为无论是播放,还是停止,都要用到设备IDm_DeviceID = mciOpen.wDeviceID;//ID
MCI_PLAY_PARMS mciPlay;是不是很像呢?这个也不难了吧。
都太相似了。
更详细的信息请查看:到这里几乎就结束了,哦,对了,还有一件事。
PuzzleMain.h#include “PuzzleSound.h”,CPuzzleSound的初始化函数里调用播放背景音乐的函数,在单击事件里添加上单击事件的声音,当然了,你还可以再添加一个胜利时的声音,具体在哪添加,就不用我说了吧,看了篇了,多少也应该知道些了吧。
PlaySoundwavmp3了,都用方法。
mci我相信,这个游戏不只到此,还有好多可以添加的东西呢。我还会努力的,争取让这个游戏更好。
- [原创+连载]一步一步做拼图游戏,C++版(六)
- [原创+连载]一步一步做拼图游戏,C++版(一)
- [原创+连载]一步一步做拼图游戏,C++版(二)
- [原创+连载]一步一步做拼图游戏,C++版(三)
- [原创+连载]一步一步做拼图游戏,C++版(四)
- [原创+连载]一步一步做拼图游戏,C++版(五)
- [原创+连载]一步一步做拼图游戏,C++版(七)
- (连载)一步一步教你做黑白棋游戏(一)
- (连载)一步一步教你做黑白棋游戏(二)
- (连载)一步一步教你做黑白棋游戏(三)
- (连载)一步一步教你做黑白棋游戏(四)
- (连载)一步一步教你做黑白棋游戏(五)
- Entanglement Web App(六边拼图游戏)
- 天凉好个秋(连载六)
- 原创JS拼图游戏
- 《拼图游戏》技术总结“六”
- 一步一步学习hadoop(六)
- 【原创】连载小说——何苦做程序 1
- 初识Ruby on Rails 另一个优秀的j2ee框架
- 建议CSDN开一个linux内核学习模块,和linux相关也可以。
- 常见题型及解法(一)
- 普利姆算法(实现代码)
- 切记!~
- [原创+连载]一步一步做拼图游戏,C++版(六)
- 我的烦恼
- 初学者,如何用hibernate配置SqlServer?(MyEclipse)
- 大学毕业后.....机遇在那里?挑战什么?
- 链表的相关操作查找插入删除(c++ 数据结构)
- 委托的应用(窗体间的数据传递)
- 全部推翻重新来过!
- 委托的应用(自定义控件)
- 不再逃避