/// <summary> /// Handles the DataAvailable event of the Microphone control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="MicrophoneDataEventArgs"/> instance containing the event data.</param> private void Microphone_DataAvailable(object sender, MicrophoneDataEventArgs e) { float averageFloat = 0; var buffer = e.Buffer; int value; for (int i = 0; i < buffer.Length; i++) { value = buffer[i]; if (value < 0) { value = -value; } averageFloat = ((averageFloat * (i)) + value) / (i + 1); } int average = (int)averageFloat; if (average > this.progressBar.Maximum) { average = this.progressBar.Maximum; } else if (average < 0) { average = 0; } this.progressBar.Value = average; }
/// <summary> /// Handles the DataAvailable event of the Microphone control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="MicrophoneDataEventArgs"/> instance containing the event data.</param> private void Microphone_DataAvailable(object sender, MicrophoneDataEventArgs e) { float averageFloat = 0; var buffer = e.Buffer; int value; for (int i = 0; i < buffer.Length; i++) { value = buffer[i]; if (value < 0) { value = -value; } averageFloat = ((averageFloat * (i)) + value) / (i + 1); } int average = (int)averageFloat; if (average > this.progressBar.Maximum) { average = this.progressBar.Maximum; } else if (average < 0) { average = 0; } this.progressBar.Value = average; }