From 79d8da74ac98166ec9e9dae7eff820cd9842edb3 Mon Sep 17 00:00:00 2001 From: bonmas14 Date: Sun, 29 Oct 2023 21:03:26 +0300 Subject: basic functionality + compute bound --- AudioTester/Core/RenderStreamer.cs | 32 +++++++------------------------- 1 file changed, 7 insertions(+), 25 deletions(-) (limited to 'AudioTester/Core') diff --git a/AudioTester/Core/RenderStreamer.cs b/AudioTester/Core/RenderStreamer.cs index c7d2595..81be958 100644 --- a/AudioTester/Core/RenderStreamer.cs +++ b/AudioTester/Core/RenderStreamer.cs @@ -1,4 +1,5 @@ using NAudio.Wave; +using RayRoom.Core; namespace AudioTester.Core { @@ -6,37 +7,18 @@ namespace AudioTester.Core { public WaveFormat WaveFormat { get; } - private const int ReadBufferSize = 1024; - private int sample; - private Random rand; + private ISampleHandler provider; - private AudioFileReader streamReader; - private ISampleProvider provider; - - public RenderStreamer() + public RenderStreamer(ISampleHandler provider) { - rand = new Random(); - WaveFormat = WaveFormat.CreateIeeeFloatWaveFormat(44100, 2); - sample = 0; - - streamReader = new AudioFileReader(@"Resources\test.wav"); - - provider = streamReader.ToSampleProvider(); + this.provider = provider; + + WaveFormat = WaveFormat.CreateIeeeFloatWaveFormat(44100, 1); } public int Read(float[] buffer, int offset, int count) { - int length = provider.Read(buffer, offset, count); - - Console.WriteLine("i: {0}; o:{1}", count, length); - - if (length < count) - { - streamReader.Position = 0; - length += provider.Read(buffer, length, count - length); - } - - return length; + return provider.WriteTo(buffer, offset, count); } } } -- cgit v1.2.3-70-g09d2