`
emowuyi
  • 浏览: 1476937 次
文章分类
社区版块
存档分类
最新评论

windows SDK模拟游戏钢琴的实现(一)

 
阅读更多

最近想做一个模拟钢琴的小软件,想做个既有键盘接口又有鼠标接口的小软件。所涉及到的知识点如下:

1.有关键盘的知识

2.有关鼠标的知识

3.GDI的知识

4.媒体播放函数的有关知识


因为这几天也正好在看这些内容,所以理论结合实际是最好的学习方式


首先要找钢琴音阶,但是上网找了一圈也没有发现,最后在4399里面找到一个差不多类型的模拟钢琴游戏,而且音色不错,索性用Adobe Audition的录音功能将每个音阶都录下来做一些编辑,自己制作了20来个音阶,用mp3格式保存。

然后用的是mcisendstring函数实现mp3格式音乐的播放。


第一步首先做键盘接口,其实这一步还是比较简单的,在窗口过程里面处理对应的虚拟键码的消息就行了,这里遇到了一个小问题,找不到 <, 和 >. 这两个按键对应的虚拟键码了,找了一下虚拟键码表上面好像也没有写啊?先暂时搁下

成果做出来以后,发现一个比较严重的问题,就是使用mcisendstring这个宏的时候,不能同时打开某个音乐文件,这样比如我的la这个音阶有2秒的话,必须要等到2秒结束以后才能再次播放,这样显然影响了连续的效果,目前也没有什么好的解决方案。


第二步就要涉及到GDI和鼠标接口了,这一部分正在看,等到成品做出来以后在附上源码吧。


昨天晚上做梦的时候突然想到怎么实现可以几乎同时按一个键发出声音了,话说梦真是个神奇的东西啊。

既然不能同时打开同一个音乐文件,那么我在每次打开前关闭这个音乐文件不就实现这个效果了吗?想到了确实觉得挺简单的,但是昨天怎么就没想到呢?呵呵,下面先附上我键盘接口的代码:



中间有很多东西都是重复的,只是简单地完成了一个音乐播放的功能,而且也没有加上资源,加上GDI等东西。

这几天偶尔在书上看到了类似的一个程序,集合了菜单,资源等很多功能,是用MIDI来控制音乐播放的,所以有很多选项可以选择,下面附上代码:


程序虽然有点长,自己现在也没有学得很好,所以还不能完全看懂。希望以后能写一下关于这个程序的解释。

分享到:
评论

相关推荐

    Windows SDK Windows SDKWindows SDKWindows SDK

    Windows SDKWindows SDKWindows SDKWindows SDKWindows SDKWindows SDKWindows SDKWindows SDKWindows SDKWindows SDKWindows SDKWindows SDKWindows SDK

    Windows SDK 环境下 OpenGL实现

    基于Windows SDK下的API实现OpenGL框架程序,实现XYZ轴平移、XYZ旋转操作,可以按快捷键操作,也可以点击窗口中按钮控制。有下拉式菜单与右键菜单。按下鼠标左键能控制旋转,也可以设置自动旋转。总之,这个框架已经...

    太空大战 完成windows SDK文档应用程序下的太空大战游戏设计与实现

    完成windows SDK文档应用程序下的太空大战游戏设计与实现 太空大战 完成windows SDK文档应用程序下的太空大战游戏设计与实现 太空大战 完成windows SDK文档应用程序下的太空大战游戏设计与实现 太空大战 完成...

    windows SDK8.1离线安装包

    安装sql 2012时需要microsoft windows SDK8.1,点击installs中的dotNetFx45_Full_x86_x64.exe即可

    Microsoft Windows SDK 7.1下载

    Microsoft Windows SDK 7.1下载(32位资源)

    Windows_SDK Windows_SDKWindows_SDK

    Windows_SDKWindows_SDKWindows_SDKWindows_SDKWindows_SDKWindows_SDKWindows_SDKWindows_SDKWindows_SDKWindows_SDKWindows_SDKWindows_SDKWindows_SDK

    windows sdk8.1安装

    windows sdk8.1 对于Visual Studio 中出现的无法找到编译器DLL,请确保正确的路径,通过安装Windows SDK8.1离线安装包即可解决。 解决windows7安装vs2013后显示不能找到windowssdkdir,以致不能编译或者链接失败的...

    Windows SDK 8.1离线包

    Windows SDK 8.1离线包,给需要的人,VS2019如果需要,自己下载,分不多,表心意 ,链接绝对有效,如果无效邮箱联系我本人

    Windows SDK8.1离线安装包百度云下载

    对于Visual Studio 中出现的无法找到编译器DLL,请确保正确的路径,通过安装Windows SDK8.1离线安装包即可解决。

    windows SDK 8.1 C++

    Microsoft Windows SDK 8.1适用于windows 8.1以及Windows 7、Windows Vista、Windows Server 2012、Windows Server 2008 R2操作系统,这是由微软开发的软件开发工具包,可以轻松帮助程序创建在windows平台上的应用,...

    Windows SDK 8.1 ISO 第一部分

    适用于 Windows 8.1 的 Windows 软件开发工具包 (SDK) 包含标头、库和工具,可用于创建在 Windows 操作系统上运行的应用。 Windows SDK 8.1 Standalone Installer Windows SDK 8.1 offline install

    windows sdk v7.1a

    sdk 7.1

    Microsoft Windows SDK v6.0A

    Microsoft Windows SDK v6.0A

    Windows Kits10 windows SDK

    Windows Kits 10 windows SDK 官网下载基本下不下来,总是无法访问。可算下载下来了,分享下

    windows_sdk实现贪吃蛇过程

    这是上学期程序设计与实践3课程的一部分,用windows sdk写一个贪吃蛇。此项目由教师在课堂上演示、查SDK手册和解释、design和实现及解释代码,学生观摩。一共进行了五次课。持续五周,每周一次课,每次课90分钟。

    windows sdk 7.1 例子

    windows sdk 7.1很难装,windows sdk samples很难找。 所以打包在这边,有需要的同学可以下载

    windows SDK10.0.14393.0(vs2015)

    VS2015在win10上面的windows sdk。 这个是sdk安装的installer,运行的时候会自动下载具体的SDK包进行安装

    windows sdk 编程例题

    windows sdk 编程例题.rar

    windows sdk(纯C代码实现)

    windows sdk(纯C代码实现) 学习MFC必备的东西,学好它,MFC就不难搞了

    windows 8.1 sdk 百度云下载.rar

    windows 8.1 sdk 百度云下载

Global site tag (gtag.js) - Google Analytics