Windows MediaPlayer-Funktionen kann man per
Interop.QuartzTypeLib.dll
aufrufen.
Siehe mein Beispiel in
http://www.junoland.de/cis
hier mal ein paar Zeilen, mit denen ich ein midi-file anspiele:
internal class midireplay {
internal static QuartzTypeLib.FilgraphManager grman = new QuartzTypeLib.FilgraphManager();
internal static QuartzTypeLib.IMediaControl mc=(QuartzTypeLib.IMediaControl)grman;
internal static string lastmidnam="";
internal static bool midireplaying=false;
internal static void playmid(string finam, Midmod mimo) {
// try to disable any other usage of midi-device by midionline
if (midionline.lasttone!=0) {
midionline.play1tone(0);
MidiPlayer.CloseMidi();
}
if (finam.Equals(lastmidnam)==false) {
if (mc != null) mc.Stop();
mc.RenderFile(finam); lastmidnam=finam;
}
if (mimo==Midmod.run) {midireplaying=true; mc.Run();}
if (mimo==Midmod.stop){midireplaying=false; mc.Stop();}
if (mimo==Midmod.rewind) {mc.Stop(); mc.RenderFile(finam); midireplaying=true; mc.Run();}
}
} // end midireplay