public void AddSamples(IntPtr samples, int count) { var size = count * Channels * 2; if (_copiedSamples == null || _copiedSamples.Length < size) { _copiedSamples = new byte[size]; } Marshal.Copy(samples, _copiedSamples, 0, size); _bufferedWaveProvider.AddSamples(_copiedSamples, 0, size); PositionTracker.AddSamplesCount(count); }
public int GetSamplesInBufferCount() { PositionTracker.AddSamplesCount(_bufferedWaveProvider.BufferedBytes / Channels / 2); return(_bufferedWaveProvider.BufferedBytes / 2); }