private void OnAudioRecordingDataAvailable(object sender, WaveInEventArgs e) { short[] shorts = AudioUtils.BytesToShorts(e.Buffer); AudioEngineMicDataAvailable handler = this.OnMicDataAvailable; if (handler != null && this.enabled) { try { handler(shorts, this.audioRecorder.WaveFormat.SampleRate, this.audioRecorder.WaveFormat.Channels); } catch (Exception ex) { Logger.Log(LogLevel.Error, ex.Message); } } this.audioRecordingProvider.AddSamples(e.Buffer, 0, e.BytesRecorded); this.audioRecordingMeter.Read(new float[e.BytesRecorded], 0, e.BytesRecorded); }