public MemoryReader(string audioFileName) { using (var audioFileReader = new AudioFileReader(audioFileName)) { // TODO: could add resampling in here if required this.waveFormat = audioFileReader.WaveFormat; this.length = audioFileReader.Length; var wholeFile = new List <float>((int)(audioFileReader.Length / 4)); var readBuffer = new float[audioFileReader.WaveFormat.SampleRate * audioFileReader.WaveFormat.Channels]; int samplesRead; while ((samplesRead = audioFileReader.Read(readBuffer, 0, readBuffer.Length)) > 0) { wholeFile.AddRange(readBuffer.Take(samplesRead)); } AudioData = wholeFile.ToArray(); } memorySampleProvider = new MemoryReaderSampleProvider(this); }
public MemoryReader(string audioFileName) { using (var audioFileReader = new AudioFileReader(audioFileName)) { // TODO: could add resampling in here if required this.waveFormat = audioFileReader.WaveFormat; this.length = audioFileReader.Length; var wholeFile = new List<float>((int)(audioFileReader.Length / 4)); var readBuffer= new float[audioFileReader.WaveFormat.SampleRate * audioFileReader.WaveFormat.Channels]; int samplesRead; while((samplesRead = audioFileReader.Read(readBuffer,0,readBuffer.Length)) > 0) { wholeFile.AddRange(readBuffer.Take(samplesRead)); } AudioData = wholeFile.ToArray(); } memorySampleProvider = new MemoryReaderSampleProvider(this); }