Example #1
0
        /// <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);
        }
Example #2
0
        /// <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);
        }
Example #3
0
 /// <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);
 }