|
|
1
10
我认为您需要p/invoke到Windows API才能播放.NET中的MIDI文件。 这篇代码项目文章很好地解释了如何做到这一点: vb.net article to play midi files 要重写,这是C您需要以下用于mcisendString的import语句:
希望这有帮助-祝你好运! |
|
|
2
11
我目前正在开发一个C MIDI应用程序,其他应用程序都是正确的-您需要使用P/Invoke来实现这一点。我正在滚动自己的,因为这似乎更适合应用程序(我只需要MIDI功能的一小部分),但为了您的目的 C# MIDI Toolkit 可能更合适。它至少是我找到的最好的.NET MIDI库,在开始这个项目之前我进行了广泛的搜索。 |
|
|
3
4
midi-dot-net 在几分钟内让我起床并开始跑步-重量轻,适合我的家庭项目。它也可以在 GitHub . (不要与前面提到的混淆 MIDI.NET 这看起来也很有希望,但我从来没有接触过。) 当然 NAudio (上面也提到)有很多功能,但是像最初的海报一样,我只想播放一些注释,快速阅读和理解源代码。 |
|
|
4
1
我不能声称对这件事了解得太多,但我不认为那是直接的——卡尔·富兰克林 DotNetRocks 名声对它起了很大作用-你见过吗 his DNRTV ? |
|
|
5
1
您可以使用媒体播放器:
|
|
|
7
1
最近添加的是 MIDI.NET 支持MIDI端口、MIDI文件和Sysex。 |
|
|
8
0
系统。媒体。 声音播放器 是播放wav文件的一种好的、简单的方法。wav文件比midi有一些优势,其中之一就是你可以精确地控制每种乐器的声音(而不是依赖于电脑内置的合成器)。 |
|
|
9
0
对不起,这个问题现在有点老了,但下面的内容对我很有用(有些抄袭自 Win32 - Midi looping with MCISendString ):
给出了命令字符串的完整列表 here . 最酷的是,除了音序器,你可以用不同的东西来演奏。 different things ,播放.wav文件时说waveaudio。我不知道怎么让它播放。MP3。 另外,请注意,stop和close命令必须与open和play命令在同一线程上发送,否则它们将无效,文件将保持打开状态。例如:
|
|
|
10
0
新玩家出现: https://github.com/atsushieno/managed-midi https://www.nuget.org/packages/managed-midi/ 在文档方面不多,但这个库的一个重点是跨平台支持。 |
|
11
0
我认为最好使用一些具有高级功能的库来播放MIDI数据,而不是自己实现它。例如,使用 DryWetMIDI 通过默认合成器播放MIDI文件( 微软GS WaveTable Synth ):
|