/* =============== Queue processing =============== */ private void WOM_proc(IntPtr hdrvr, int uMsg, int dwUser, ref WaveHdr wavhdr, int dwParam2) { switch (uMsg) { case WinmmHook.MM_WOM_OPEN: MsgQueue.Add(PlayerMsg.WOM_OPEN); break; case WinmmHook.MM_WOM_DONE: MsgQueue.Add(PlayerMsg.WOM_DONE); break; case WinmmHook.MM_WOM_CLOSE: MsgQueue.Add(PlayerMsg.WOM_CLOSE); break; } }
public static extern int waveOutWrite(IntPtr hWaveOut, ref WaveHdr lpWaveOutHdr, int uSize);
public static extern int waveOutUnprepareHeader(IntPtr hWaveOut, ref WaveHdr lpWaveOutHdr, int uSize);
public static extern int waveInPrepareHeader(IntPtr hWaveIn, ref WaveHdr lpWaveInHdr, int uSize);
public static extern int waveInAddBuffer(IntPtr hWaveIn, ref WaveHdr lpWaveInHdr, int uSize);
/* =============== Queue processing =============== */ private void WIM_proc(IntPtr hdrvr, int uMsg, int dwUser, ref WaveHdr wavhdr, int dwParam2) { switch (uMsg) { case WinmmHook.MM_WIM_OPEN: MsgQueue.Add(RecorderMsg.WIM_OPEN); break; case WinmmHook.MM_WIM_DATA: if (wavhdr.Equals(waveHdr1)) { lastHeader = 1; } else if (wavhdr.Equals(waveHdr2)) { lastHeader = 2; } else { lastHeader = 0; } MsgQueue.Add(RecorderMsg.WIM_DATA); break; case WinmmHook.MM_WIM_CLOSE: MsgQueue.Add(RecorderMsg.WIM_CLOSE); break; } }