public WaveInDevice(int liBufferSize) { Win32.WaveFormat loFormat = new DSELib.Audio.Wave.Win32.WaveFormat(Enum_SampleRates.SampleRates_44_1_kHz, Enum_BitRates.BitRates_16bit, Enum_Channels.Channels_Mono); m_BufferSize = liBufferSize; // CallBack einrichten int liReplyCode = Win32.MM_Win32.waveInOpen(out m_DeviceHandle, -1, loFormat, m_BufferProc, 0, Win32.MM_Win32.CALLBACK_FUNCTION); CheckErrorCode(liReplyCode); }
private void Start() { Stop(); System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = false; try {//16384 DSELib.Audio.Wave.Win32.WaveFormat fmt = new DSELib.Audio.Wave.Win32.WaveFormat(DSELib.Audio.Wave.Enums.Enum_SampleRates.SampleRates_8_0_kHz, DSELib.Audio.Wave.Enums.Enum_BitRates.BitRates_8bit, DSELib.Audio.Wave.Enums.Enum_Channels.Channels_Mono); m_Player = new DSELib.Audio.Wave.WaveOutDevice(-1, fmt, (int)(fmt.BytesPerSecond / 20)); m_Player.DataStream = m_Stream; m_Player.Active = true; m_Recorder = new DSELib.Audio.Wave.WaveInDevice(-1, fmt, (int)(fmt.BytesPerSecond / 40)); m_Recorder.OnProcessed += new DSELib.Audio.Wave.ProcessedEventHandler(DataArrived); m_Recorder.Active = true; } catch { Stop(); throw; } }