public static int GetSamplesAtByte(this AudioConverter converter, AudioFormat format, int startIdx, int frameCount, Span <byte> buffer) { int sampleCount = frameCount * format.Channels; var conversionBuffer = new Span <float>(new float[sampleCount]); int samplesGotten = converter.GetConvertedSamplesAt(format, startIdx, frameCount, conversionBuffer); if (samplesGotten == 0) { return(0); } for (var i = 0; i < samplesGotten; i++) { AudioConverter.SetSampleAsFloat(i, conversionBuffer[i], buffer, format); } return(samplesGotten); }