/// <summary> /// Opens a WaveOut device /// </summary> public WaveOut(WaveCallbackInfo callbackInfo) { // set default values up DeviceNumber = 0; DesiredLatency = 300; NumberOfBuffers = 3; callback = Callback; waveOutLock = new object(); this.callbackInfo = callbackInfo; callbackInfo.Connect(callback); }
/// <summary> /// Opens a WaveOut device /// </summary> public WaveOut(WaveCallbackInfo callbackInfo) { this.syncContext = SynchronizationContext.Current; // set default values up this.DeviceNumber = 0; this.DesiredLatency = 300; this.NumberOfBuffers = 2; this.callback = new WaveInterop.WaveCallback(Callback); this.waveOutLock = new object(); this.callbackInfo = callbackInfo; callbackInfo.Connect(this.callback); }
/// <summary> /// Prepares a Wave input device for recording /// </summary> public WaveIn(WaveCallbackInfo callbackInfo) { syncContext = SynchronizationContext.Current; if ((callbackInfo.Strategy == WaveCallbackStrategy.NewWindow || callbackInfo.Strategy == WaveCallbackStrategy.ExistingWindow) && syncContext == null) { throw new InvalidOperationException("Use WaveInEvent to record on a background thread"); } DeviceNumber = 0; WaveFormat = new WaveFormat(8000, 16, 1); BufferMilliseconds = 100; NumberOfBuffers = 3; callback = Callback; this.callbackInfo = callbackInfo; callbackInfo.Connect(callback); }