Fixed application-shutdown problems

This commit is contained in:
Darth Affe 2017-08-05 20:49:17 +02:00
parent 89330368fa
commit 823f8d73dd
4 changed files with 21 additions and 5 deletions

View File

@ -72,7 +72,12 @@ namespace KeyboardAudioVisualizer
_configurationWindow.Show(); _configurationWindow.Show();
} }
private void Exit() => Application.Current.Shutdown(); private void Exit()
{
RGBSurface.Instance.Dispose();
AudioProcessor.Instance.Dispose();
Application.Current.Shutdown();
}
#endregion #endregion
} }

View File

@ -38,6 +38,12 @@ namespace KeyboardAudioVisualizer.AudioCapture
_capture.Start(); _capture.Start();
} }
public void Dispose()
{
_capture?.Stop();
_capture?.Dispose();
}
private void OnSoundDataAvailable(object sender, DataAvailableEventArgs dataAvailableEventArgs) private void OnSoundDataAvailable(object sender, DataAvailableEventArgs dataAvailableEventArgs)
{ {
int readCount; int readCount;

View File

@ -1,8 +1,10 @@
namespace KeyboardAudioVisualizer.AudioCapture using System;
namespace KeyboardAudioVisualizer.AudioCapture
{ {
public delegate void AudioData(float[] data, int offset, int count); public delegate void AudioData(float[] data, int offset, int count);
public interface IAudioInput public interface IAudioInput : IDisposable
{ {
int SampleRate { get; } int SampleRate { get; }

View File

@ -1,11 +1,12 @@
using KeyboardAudioVisualizer.AudioCapture; using System;
using KeyboardAudioVisualizer.AudioCapture;
using KeyboardAudioVisualizer.AudioProcessing.Equalizer; using KeyboardAudioVisualizer.AudioProcessing.Equalizer;
using KeyboardAudioVisualizer.AudioProcessing.Spectrum; using KeyboardAudioVisualizer.AudioProcessing.Spectrum;
using KeyboardAudioVisualizer.AudioProcessing.VisualizationPRovider; using KeyboardAudioVisualizer.AudioProcessing.VisualizationPRovider;
namespace KeyboardAudioVisualizer.AudioProcessing namespace KeyboardAudioVisualizer.AudioProcessing
{ {
public class AudioProcessor public class AudioProcessor : IDisposable
{ {
#region Constants #region Constants
@ -72,6 +73,8 @@ namespace KeyboardAudioVisualizer.AudioProcessing
return sampleSize; return sampleSize;
} }
public void Dispose() => _audioInput.Dispose();
#endregion #endregion
} }
} }