技术宅的压博体育下载

 找回密码
 压博体育下载

QQ登录

只需一步,快速开始

搜索
热搜: 下载 VB C 实现 编写
楼主: 0xAA55
打印 上一主题 下一主题
收起左侧

【C语言】Midi文件播放器(可跨平台)

[复制链接]

0

主题

1

帖子

9

积分

用户组: 初·技术宅

UID
5249
精华
0
威望
0 点
宅币
8 个
贡献
0 次
宅之契约
0 份
在线时间
0 小时
注册时间
2019-8-25
61#
发表于 2019-8-25 15:56:10 | 只看该作者
非常好的midi编程文章,可以自己设置软波表,那就更好了。

3

主题

22

帖子

310

积分

用户组: 中·技术宅

UID
4293
精华
3
威望
11 点
宅币
200 个
贡献
51 次
宅之契约
0 份
在线时间
23 小时
注册时间
2018-9-19
62#
发表于 2019-8-28 01:20:41 | 只看该作者
本帖最后由 系统消息 于 2019-8-28 01:21 编辑
zly188 发表于 2019-8-25 15:56
非常好的midi编程文章,可以自己设置软波表,那就更好了。


我已经实现了,刚刚发帖,DirectMusic还有很多midiOut没有的功能:
用 DirectMusic 实现可更换音色库和多轨的 midiOut

3

主题

22

帖子

310

积分

用户组: 中·技术宅

UID
4293
精华
3
威望
11 点
宅币
200 个
贡献
51 次
宅之契约
0 份
在线时间
23 小时
注册时间
2018-9-19
63#
发表于 2019-8-28 01:27:44 | 只看该作者
0xAA55 发表于 2019-3-22 01:43
方法1:开一堆exe作为播放midi的子进程。
方法2:硬解midi,自己设计时间线的管理和播放流程,并且重新分 ...

已经解决了,用DirectMusic代替midiOut完美解决

3

主题

22

帖子

310

积分

用户组: 中·技术宅

UID
4293
精华
3
威望
11 点
宅币
200 个
贡献
51 次
宅之契约
0 份
在线时间
23 小时
注册时间
2018-9-19
64#
发表于 2019-8-29 19:50:56 | 只看该作者
宇宙卐之王 发表于 2015-8-24 10:18
这是调用哪个音色库播放的?可以改吗?

A5大神的例子用的winmm的midiOutAPI,音色完全由具体打开设备驱动决定,应用层无法控制。如果电脑没有硬件midi设备的话,也没有安装第三方软驱动的情况下,就只有一个系统自带 Microsoft GS Wavetable Synth 设备,它的音色库文件路径保存在注册表 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectMusic\GMFilePath 字段上(但是改这个字段,只会改变DirectMusic的默认音色,对 midiOutAPI 无效,只能暴力替换 gm.dls 文件)。
如果想自己在应用层代码随时随地更换音色库的话,可以考虑入手DirectMusic(因为它是在应用层合成midi再通过DirectSound输出的):https://www.0xaa55.com/forum.php ... 59&fromuid=4293

0

主题

5

帖子

9

积分

用户组: 初·技术宅

UID
3737
精华
0
威望
0 点
宅币
4 个
贡献
0 次
宅之契约
0 份
在线时间
5 小时
注册时间
2018-4-21
65#
发表于 2019-9-7 09:43:43 | 只看该作者
8421,如果您要查看本帖隐藏内容请回复

评分

参与人数 1威望 -2 宅币 -13 收起 理由
0xAA55 -2 -13 违规回帖封禁

查看全部评分

您需要登录后才可以回帖 登录 | 压博体育下载

本版积分规则

QQ|申请友链||Archiver|手机版|小黑屋|技术宅的压博体育下载 ( 滇ICP备16008837号|网站地图

GMT+8, 2019-10-28 11:01 , Processed in 0.088700 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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