当前位置:  开发笔记 > 编程语言 > 正文

使用C#播放MIDI声音的最佳方式

如何解决《使用C#播放MIDI声音的最佳方式》经验,为你挑选了2个好方法。

我试图重建使用最开始写的旧节拍器应用MFC在C++来编写的.NET使用C#.我遇到的一个问题是播放用于表示节拍器"点击"的midi文件.

我在网上发现了一些关于MIDI在.NET中玩的文章,但是大多数文章似乎都依赖于有人拼凑在一起并提供的自定义库.我并不反对使用这些,但我宁愿自己理解这是如何完成的,因为它似乎应该是一个非常微不足道的练习.

那么,我错过了什么吗?或者在.NET应用程序中使用MIDI是否很困难?



1> Kjetil Limkj..:

我目前正在研究C#MIDI应用程序,其他人都是对的 - 你需要使用p/invoke.我正在自己动手,因为它似乎更适合应用程序(我只需要一小部分MIDI功能),但为了您的目的,C#MIDI工具包可能更适合.它至少是我找到的最好的.NET MIDI库,我在开始项目之前进行了广泛的搜索.


Leslie的MIDI工具包绝对是播放,录制MIDI的最全面的C#解决方案.我用它来做一个非常复杂的项目,效果很好.

2> John Sibly..:

我认为你需要p/invoke到windows api才能从.net播放midi文件.

这个代码项目文章很好地解释了如何执行此操作: vb.net文章播放midi文件

要重写这个是c#,你需要mciSendString的以下import语句:

[DllImport("winmm.dll")] 
static extern Int32 mciSendString(String command, StringBuilder buffer, 
                                  Int32 bufferSize, IntPtr hwndCallback);

希望这有帮助,祝你好运!

推荐阅读
mobiledu2402852357
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有