Hi, I have a partial answer to your question: store the sound data in a byte array, pin it in memory, and call the unmanaged function [DllImport("Winmm.dll", CallingConvention=CallingConvention.Cdecl)] static extern int sndPlaySound(IntPtr buffer, int dwFlags); with flag value = 4 (= SND_MEMORY) More on this in http://www.bobpowell.net/playsnd.htm[^] Dont know about capturing sounds though.
Luc Pattyn