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();
}
private void Exit() => Application.Current.Shutdown();
private void Exit()
{
RGBSurface.Instance.Dispose();
AudioProcessor.Instance.Dispose();
Application.Current.Shutdown();
}
#endregion
}

View File

@ -38,6 +38,12 @@ namespace KeyboardAudioVisualizer.AudioCapture
_capture.Start();
}
public void Dispose()
{
_capture?.Stop();
_capture?.Dispose();
}
private void OnSoundDataAvailable(object sender, DataAvailableEventArgs dataAvailableEventArgs)
{
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 interface IAudioInput
public interface IAudioInput : IDisposable
{
int SampleRate { get; }

View File

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