La meilleure façon de jouer des sons MIDI en utilisant C#

j'essaie de reconstruire une ancienne application métronome qui a été écrite à l'origine en utilisant MFC en C++ à écrire en .NET en utilisant C#. Un des problèmes que je rencontre est la lecture des fichiers midi qui sont utilisés pour représenter les "clics"du métronome.

j'ai trouvé quelques articles en ligne sur la lecture MIDI.NET, mais la plupart d'entre eux semblent s'appuyer sur des bibliothèques personnalisées que quelqu'un a monté et mis à disposition. Je ne suis pas contre l'utilisation de ceux-ci, mais je préfère comprenez pour moi-même comment cela se fait, car il semble que cela devrait être à majorité simple.

alors, est-ce que je rate quelque chose? Ou est-il simplement difficile d'utiliser le MIDI dans une application .NET?

18
demandé sur Sujania 2008-08-12 16:34:07

9 réponses

je pense que vous aurez besoin de p/invoke à l'api windows pour être en mesure de jouer des fichiers midi de .net.

cet article du projet fait du bon travail pour expliquer comment faire ceci: vb.net article à lire les fichiers midi

réécrire c'est le c#, vous auriez besoin de l'instruction d'importation suivante pour mciSendString:

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

espérons que cela aide - bonne chance!

10
répondu John Sibly 2014-05-29 19:42:21

je travaille sur une application C # MIDI en ce moment, et les autres ont raison - vous devez utiliser P/invoke pour cela. Je suis en train de rouler le mien car cela semblait plus approprié pour l'application (je n'ai besoin que d'un petit sous-ensemble de fonctionnalités MIDI), mais pour vos besoins le C # MIDI Toolkit