private async void SendTempBuffer() { if (TempBuffer.Count == 0) { return; } using (var ms1 = new MemoryStream()) { using (var wfw = new WaveFileWriter(ms1, Capturer.WaveFormat)) { wfw.Write(TempBuffer.ToArray(), 0, TempBuffer.Count); } TempBuffer.Clear(); // Resample to 16-bit so Firefox will play it. using (var ms2 = new MemoryStream(ms1.ToArray())) using (var wfr = new WaveFileReader(ms2)) using (var ms3 = new MemoryStream()) { using (var resampler = new MediaFoundationResampler(wfr, TargetFormat)) { WaveFileWriter.WriteWavFileToStream(ms3, resampler); } await Conductor.CasterSocket.SendAudioSample(ms3.ToArray(), Conductor.Viewers.Keys.ToList()); } } }