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

QQ登录

只需一步,快速开始

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

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

[复制链接]

1109

主题

1649

回帖

7万

积分

用户组: 管理员

一只技术宅

UID
1
精华
244
威望
743 点
宅币
24180 个
贡献
46222 次
宅之契约
0 份
在线时间
2294 小时
注册时间
2014-1-26
发表于 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, 下载次数: 22, 售价: 2 个宅币)
SRC: MIDIFile.7z (20.97 KB, 下载次数: 15, 售价: 20 个宅币)

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

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

本帖被以下淘专辑推荐:

回复

使用道具 举报

1109

主题

1649

回帖

7万

积分

用户组: 管理员

一只技术宅

UID
1
精华
244
威望
743 点
宅币
24180 个
贡献
46222 次
宅之契约
0 份
在线时间
2294 小时
注册时间
2014-1-26
 楼主| 发表于 2014-7-23 12:19:50 | 显示全部楼层
2014.7.23 更新:更改了时间方面的算法,播放效果更好了,但是,重新设置播放位置变得很麻烦。
          这次更新使播放效果完全超出了你用mciSendCommand播放的效果。保证完全没有漏音了。
          漏音是因为计时器的不精确性导致有些时间非常接近的MIDI事件以错误的顺序播放了。这次采取的方式是每个音轨独立计算播放位置。保证MIDI事件的顺序正确输出。
回复 赞! 靠!

使用道具 举报

1109

主题

1649

回帖

7万

积分

用户组: 管理员

一只技术宅

UID
1
精华
244
威望
743 点
宅币
24180 个
贡献
46222 次
宅之契约
0 份
在线时间
2294 小时
注册时间
2014-1-26
 楼主| 发表于 2014-7-24 19:14:28 | 显示全部楼层
2014.7.24 更新:添加了新的视图样式,可以看音高了。
          修改了窗口的加载函数,现在可以设置文件关联了。
回复 赞! 靠!

使用道具 举报

0

主题

1

回帖

2

积分

用户组: 初·技术宅

UID
474
精华
0
威望
0 点
宅币
1 个
贡献
0 次
宅之契约
0 份
在线时间
0 小时
注册时间
2014-9-5
发表于 2014-9-5 21:26:45 | 显示全部楼层
大神~~~膜拜给跪了
回复 赞! 靠!

使用道具 举报

0

主题

13

回帖

18

积分

用户组: 初·技术宅

UID
606
精华
0
威望
2 点
宅币
1 个
贡献
0 次
宅之契约
0 份
在线时间
0 小时
注册时间
2014-12-21
发表于 2014-12-21 06:30:02 | 显示全部楼层
我正在使用vb操作midi文件,对这个主题很感兴趣
回复 赞! 靠!

使用道具 举报

0

主题

1

回帖

9

积分

用户组: 初·技术宅

UID
2247
精华
0
威望
0 点
宅币
8 个
贡献
0 次
宅之契约
0 份
在线时间
0 小时
注册时间
2017-2-13
发表于 2017-2-13 17:18:23 | 显示全部楼层
太好了,真是技术高手
回复 赞! 靠!

使用道具 举报

2

主题

22

回帖

117

积分

用户组: 小·技术宅

UID
3003
精华
0
威望
2 点
宅币
89 个
贡献
0 次
宅之契约
0 份
在线时间
20 小时
注册时间
2017-10-24
发表于 2017-10-25 01:54:19 | 显示全部楼层
看上去很强大
回复 赞! 靠!

使用道具 举报

2

主题

22

回帖

117

积分

用户组: 小·技术宅

UID
3003
精华
0
威望
2 点
宅币
89 个
贡献
0 次
宅之契约
0 份
在线时间
20 小时
注册时间
2017-10-24
发表于 2017-10-25 02:24:10 | 显示全部楼层
我在做钢琴卷帘窗
回复 赞! 靠!

使用道具 举报

2

主题

22

回帖

117

积分

用户组: 小·技术宅

UID
3003
精华
0
威望
2 点
宅币
89 个
贡献
0 次
宅之契约
0 份
在线时间
20 小时
注册时间
2017-10-24
发表于 2017-11-16 20:35:10 | 显示全部楼层
我写了自定义格式的文件,参照这里的代码写出了程序实现播放。我想实现从中间任一位置开始播放,请问站长该怎么设置?
回复 赞! 靠!

使用道具 举报

0

主题

3

回帖

19

积分

用户组: 初·技术宅

UID
3113
精华
0
威望
2 点
宅币
12 个
贡献
0 次
宅之契约
0 份
在线时间
0 小时
注册时间
2017-11-20
发表于 2017-11-20 19:33:48 | 显示全部楼层
谢谢 楼主,我看看
回复 赞! 靠!

使用道具 举报

2

主题

22

回帖

117

积分

用户组: 小·技术宅

UID
3003
精华
0
威望
2 点
宅币
89 个
贡献
0 次
宅之契约
0 份
在线时间
20 小时
注册时间
2017-10-24
发表于 2018-1-2 15:18:32 | 显示全部楼层
如果MIDI文件4分音符的TICK数是480就播放不了。
回复 赞! 靠!

使用道具 举报

0

主题

9

回帖

37

积分

用户组: 初·技术宅

UID
3290
精华
0
威望
0 点
宅币
28 个
贡献
0 次
宅之契约
0 份
在线时间
5 小时
注册时间
2018-1-3
发表于 2018-1-4 16:32:21 | 显示全部楼层
谢谢 楼主,我看看
回复 赞! 靠!

使用道具 举报

2

主题

22

回帖

117

积分

用户组: 小·技术宅

UID
3003
精华
0
威望
2 点
宅币
89 个
贡献
0 次
宅之契约
0 份
在线时间
20 小时
注册时间
2017-10-24
发表于 2018-1-5 11:10:40 | 显示全部楼层
请问站长: GetTimerValue = (T_Current - T_BeginTime) * T_Velocity / T_Freq
这里所得结果的单位是什么?
回复 赞! 靠!

使用道具 举报

0

主题

1

回帖

15

积分

用户组: 初·技术宅

UID
4704
精华
0
威望
2 点
宅币
10 个
贡献
0 次
宅之契约
0 份
在线时间
0 小时
注册时间
2019-2-23
发表于 2019-2-23 19:34:41 | 显示全部楼层
太好了,真是技术高手
回复 赞! 靠!

使用道具 举报

0

主题

1

回帖

9

积分

用户组: 初·技术宅

UID
4715
精华
0
威望
0 点
宅币
8 个
贡献
0 次
宅之契约
0 份
在线时间
0 小时
注册时间
2019-2-26
发表于 2019-2-26 18:53:46 | 显示全部楼层
我想要看。
回复

使用道具 举报

0

主题

27

回帖

272

积分

用户组: 中·技术宅

UID
4725
精华
0
威望
2 点
宅币
241 个
贡献
0 次
宅之契约
0 份
在线时间
38 小时
注册时间
2019-3-2
发表于 2019-3-2 20:14:25 | 显示全部楼层
哇啊啊啊,真实太赞了,LZ真实“宅”啊,我喜欢,嘻嘻
回复 赞! 靠!

使用道具 举报

0

主题

1

回帖

29

积分

用户组: 初·技术宅

UID
5324
精华
0
威望
10 点
宅币
8 个
贡献
0 次
宅之契约
0 份
在线时间
0 小时
注册时间
2019-9-24
发表于 2019-9-24 23:40:59 | 显示全部楼层
看看,,,,,
回复

使用道具 举报

0

主题

1

回帖

16

积分

用户组: 初·技术宅

UID
5416
精华
0
威望
1 点
宅币
13 个
贡献
0 次
宅之契约
0 份
在线时间
0 小时
注册时间
2019-12-2
发表于 2019-12-2 18:47:37 | 显示全部楼层
太好了,真是技术高手
回复 赞! 靠!

使用道具 举报

0

主题

53

回帖

103

积分

用户组: 小·技术宅

UID
5780
精华
0
威望
2 点
宅币
46 个
贡献
0 次
宅之契约
0 份
在线时间
0 小时
注册时间
2020-4-3
发表于 2020-4-3 21:05:04 | 显示全部楼层
看看学习下
回复 赞! 靠!

使用道具 举报

2

主题

10

回帖

44

积分

用户组: 初·技术宅

UID
5337
精华
0
威望
0 点
宅币
32 个
贡献
0 次
宅之契约
0 份
在线时间
3 小时
注册时间
2019-9-30
发表于 2020-4-21 19:10:22 | 显示全部楼层
不错,回头我也整一个其它版本的
回复 赞! 靠!

使用道具 举报

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

GMT+8, 2024-3-29 17:34 , Processed in 0.054317 second(s), 37 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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