void Mixer_AudioRead(object sender, AudioReadEventArgs e) { if (_muted || _player == null) { double tosleep = (_pauseTill - DateTime.Now).TotalMilliseconds; if (tosleep > 0) { System.Threading.Thread.Sleep((int)tosleep); } _pauseTill = DateTime.Now.AddMilliseconds(1000 * e.buffer.Length / e.buffer.PCM.SampleRate); return; } if (_resampler == null) { _player.Write(e.buffer); } else { //Trace.WriteLine(string.Format("Flow: {0}", result.Length)); _resampler.Flow(e.buffer, resampled); //Trace.WriteLine(string.Format("Play: {0}", resampled.Length)); if (resampled.Length != 0) { _player.Write(resampled); } } }