예제 #1
0
 /*
 ===============  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;
     }
 }
예제 #2
0
 public static extern int waveOutWrite(IntPtr hWaveOut, ref WaveHdr lpWaveOutHdr, int uSize);
예제 #3
0
 public static extern int waveOutUnprepareHeader(IntPtr hWaveOut, ref WaveHdr lpWaveOutHdr, int uSize);
예제 #4
0
 public static extern int waveInPrepareHeader(IntPtr hWaveIn, ref WaveHdr lpWaveInHdr, int uSize);
예제 #5
0
 public static extern int waveInAddBuffer(IntPtr hWaveIn, ref WaveHdr lpWaveInHdr, int uSize);
예제 #6
0
 /*
 ===============  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;
     }
 }