public void Dispose() { OutputDevice?.Stop(); OutputDevice?.Dispose(); OutputDevice = null; Aggregator = null; FadeInOut = null; AudioFile?.Close(); AudioFile?.Dispose(); AudioFile = null; }
public AudioClip(string fileName) { if (File.Exists(fileName)) { AudioFile = new AudioFileReader2(fileName); Aggregator = new SampleAggregator(AudioFile, 1024) { PerformFFT = false }; FadeInOut = new FadeInOutSampleProvider(Aggregator, false); OutputDevice = new WaveOutEvent() { NumberOfBuffers = 10, DesiredLatency = 85 }; OutputDevice.Init(FadeInOut); } else { this = Empty; } }