/// <summary> /// waveInProc /// </summary> /// <param name="hWaveIn"></param> /// <param name="msg"></param> /// <param name="dwInstance"></param> /// <param name="wParam"></param> /// <param name="lParam"></param> private void waveInProc(IntPtr hWaveIn, Win32.WIM_Messages msg, IntPtr dwInstance, Win32.WAVEHDR *pWaveHdr, IntPtr lParam) { switch (msg) { //Open case Win32.WIM_Messages.OPEN: break; //Data case Win32.WIM_Messages.DATA: //Ankommende Daten vermerken IsDataIncomming = true; //Aufgenommenen Buffer merken CurrentRecordedHeader = pWaveHdr; //Event setzen AutoResetEventDataRecorded.Set(); break; //Close case Win32.WIM_Messages.CLOSE: IsDataIncomming = false; IsWaveInOpened = false; AutoResetEventDataRecorded.Set(); this.hWaveIn = IntPtr.Zero; break; } }
/// <summary> /// waveInProc /// </summary> /// <param name="hWaveIn"></param> /// <param name="msg"></param> /// <param name="dwInstance"></param> /// <param name="wParam"></param> /// <param name="lParam"></param> private void waveInProc(IntPtr hWaveIn, Win32.WIM_Messages msg, IntPtr dwInstance, Win32.WAVEHDR *pWaveHdr, IntPtr lParam) { switch (msg) { case Win32.WIM_Messages.OPEN: break; case Win32.WIM_Messages.DATA: CurrentRecordedHeader = pWaveHdr; AutoResetEventDataRecorded.Set(); break; case Win32.WIM_Messages.CLOSE: AutoResetEventDataRecorded.Set(); this.hWaveIn = IntPtr.Zero; break; } }
private void WaveInProc(IntPtr hWaveIn, Win32.WIM_Messages msg, IntPtr dwInstance, ref Win32.WAVEHDR waveHeader, IntPtr lParam) { switch (msg) { case Win32.WIM_Messages.OPEN: break; case Win32.WIM_Messages.DATA: _isDataIncomming = true; _currentRecordedHeader = waveHeader; _autoResetEventDataRecorded.Set(); break; case Win32.WIM_Messages.CLOSE: _isDataIncomming = false; _isWaveInOpened = false; _autoResetEventDataRecorded.Set(); FreeWaveInHeaders(); _hWaveIn = IntPtr.Zero; break; } }