找回密码
 立即注册→加入我们

QQ登录

只需一步,快速开始

搜索
热搜: 下载 VB C 实现 编写
查看: 21293|回复: 27

【VB】VB编写的基于midiOut系列API实现的MIDI文件播放器

[复制链接]
发表于 2014-7-20 00:04:12 | 显示全部楼层 |阅读模式

欢迎访问技术宅的结界,请注册或者登录吧。

您需要 登录 才可以下载或查看,没有账号?立即注册→加入我们

×
原帖:http://www.0xaa55.com/thread-720-1-1.html
转载请注明出处。

原理就是通过直接读MIDI文件的内容,然后把其中的消息通过midiOutShortMsg进行发送,实现MIDI文件的播放。
经测试,这个程序能完美播放各种MIDI文件。
想要了解MIDI文件结构的可以来看看。

有关MIDI文件结构的上一篇帖子请参看这里:http://www.0xaa55.com/thread-717-1-1.html
有关midiOut系列API有关的资料,请自行查找MSDN。

这个程序是用VB写的。因为VB对于界面的处理比较方便。

BIN: MIDIFile.exe (52 KB, 下载次数: 25, 售价: 2 个宅币)
SRC: MIDIFile.7z (20.97 KB, 下载次数: 17, 售价: 20 个宅币)

用法很简单。将MIDI文件拖入中间那个大的白色框即可。
20140724191450.png
现在它已经能显示谱了。

附:范例MID文件。回复后下载。
游客,如果您要查看本帖隐藏内容请回复

本帖被以下淘专辑推荐:

回复

使用道具 举报

 楼主| 发表于 2014-7-23 12:19:50 | 显示全部楼层
2014.7.23 更新:更改了时间方面的算法,播放效果更好了,但是,重新设置播放位置变得很麻烦。
          这次更新使播放效果完全超出了你用mciSendCommand播放的效果。保证完全没有漏音了。
          漏音是因为计时器的不精确性导致有些时间非常接近的MIDI事件以错误的顺序播放了。这次采取的方式是每个音轨独立计算播放位置。保证MIDI事件的顺序正确输出。
回复 赞! 靠!

使用道具 举报

 楼主| 发表于 2014-7-24 19:14:28 | 显示全部楼层
2014.7.24 更新:添加了新的视图样式,可以看音高了。
          修改了窗口的加载函数,现在可以设置文件关联了。
回复 赞! 靠!

使用道具 举报

发表于 2014-9-5 21:26:45 | 显示全部楼层
大神~~~膜拜给跪了
回复 赞! 靠!

使用道具 举报

发表于 2014-12-21 06:30:02 | 显示全部楼层
我正在使用vb操作midi文件,对这个主题很感兴趣
回复 赞! 靠!

使用道具 举报

发表于 2017-2-13 17:18:23 | 显示全部楼层
太好了,真是技术高手
回复 赞! 靠!

使用道具 举报

发表于 2017-10-25 01:54:19 | 显示全部楼层
看上去很强大
回复 赞! 靠!

使用道具 举报

发表于 2017-10-25 02:24:10 | 显示全部楼层
我在做钢琴卷帘窗
回复 赞! 靠!

使用道具 举报

发表于 2017-11-16 20:35:10 | 显示全部楼层
我写了自定义格式的文件,参照这里的代码写出了程序实现播放。我想实现从中间任一位置开始播放,请问站长该怎么设置?
回复 赞! 靠!

使用道具 举报

发表于 2017-11-20 19:33:48 | 显示全部楼层
谢谢 楼主,我看看
回复 赞! 靠!

使用道具 举报

发表于 2018-1-2 15:18:32 | 显示全部楼层
如果MIDI文件4分音符的TICK数是480就播放不了。
回复 赞! 靠!

使用道具 举报

发表于 2018-1-4 16:32:21 | 显示全部楼层
谢谢 楼主,我看看
回复 赞! 靠!

使用道具 举报

发表于 2018-1-5 11:10:40 | 显示全部楼层
请问站长: GetTimerValue = (T_Current - T_BeginTime) * T_Velocity / T_Freq
这里所得结果的单位是什么?
回复 赞! 靠!

使用道具 举报

发表于 2019-2-23 19:34:41 | 显示全部楼层
太好了,真是技术高手
回复 赞! 靠!

使用道具 举报

发表于 2019-2-26 18:53:46 | 显示全部楼层
我想要看。
回复

使用道具 举报

发表于 2019-3-2 20:14:25 | 显示全部楼层
哇啊啊啊,真实太赞了,LZ真实“宅”啊,我喜欢,嘻嘻
回复 赞! 靠!

使用道具 举报

发表于 2019-9-24 23:40:59 | 显示全部楼层
看看,,,,,
回复

使用道具 举报

发表于 2019-12-2 18:47:37 | 显示全部楼层
太好了,真是技术高手
回复 赞! 靠!

使用道具 举报

发表于 2020-4-3 21:05:04 | 显示全部楼层
看看学习下
回复 赞! 靠!

使用道具 举报

发表于 2020-4-21 19:10:22 | 显示全部楼层
不错,回头我也整一个其它版本的
回复 赞! 靠!

使用道具 举报

本版积分规则

QQ|Archiver|小黑屋|技术宅的结界 ( 滇ICP备16008837号 )|网站地图

GMT+8, 2024-12-22 10:59 , Processed in 0.038675 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表