protected override void DefaultAudioCallback(IntPtr deviceHandle, int uMsg, IntPtr dwUser, IntPtr wavHdr, IntPtr reserved)
{
switch ((WaveCallbackMsg)uMsg)
{
case WaveCallbackMsg.OutputClosed:
Console.WriteLine("WaveOutCallback - Closed");
break;
case WaveCallbackMsg.OutputDone:
// When the sample comes back, stick it back in the queue
// after unpreparing it.
//
MediaSample aSample = null;
if (fSamples.TryGetValue(wavHdr, out aSample))
{
UnprepareHeader(aSample.GetHeader());
fAvailableBuffers.Enqueue(aSample.GetHeader());
}
break;
case WaveCallbackMsg.OutputOpened:
Console.WriteLine("WaveSpeaker.WaveOutCallback - Opened");
break;
}
}