CSCore-从MemoryStream播放音频

CSCore-从MemoryStream播放音频,memorystream,wasapi,cscore,Memorystream,Wasapi,Cscore,我是CsCore的新手。我需要一些帮助。我想建立一个录音机,它能够记录麦克风和扬声器到一个文件和一个外部录音设备。我已成功地完成录制到文件。现在我想再次做同样的事情,但在某个音频扬声器设备上播放。我想到了将管道输送到一条流中,并使用该流作为WasapiOut的源。但是,我无法将此流连接到IWaveSource private Stream _strm; private WaveWriter _waveWriterFile; private WaveWriter _wavewriterStream

我是CsCore的新手。我需要一些帮助。我想建立一个录音机,它能够记录麦克风和扬声器到一个文件和一个外部录音设备。我已成功地完成录制到文件。现在我想再次做同样的事情,但在某个音频扬声器设备上播放。我想到了将管道输送到一条流中,并使用该流作为WasapiOut的源。但是,我无法将此流连接到IWaveSource

private Stream _strm;
private WaveWriter _waveWriterFile;
private WaveWriter _wavewriterStream;
private WasapiOut _externalRecorder;

_strm = new MemoryStream();
_wavewriterStream = new WaveWriter(_strm, _SpkCapture.WaveFormat);
IWaveSource ws = new WaveFileReader(_strm);
_externalRecorder.Initialize(ws);
_externalRecorder.Play();

// on Event I do following:
_waveWriterFile.Write(e.Data, e.Offset, e.ByteCount);
_wavewriterStream.Write(e.Data, e.Offset, e.ByteCount);
一切正常,直到我称之为“新的波形阅读器(_strm)”。我得到一个例外(从我这里翻译过来)“不能读取超过流末尾的内容”。流包含此时的数据。尝试获取流之前,请先睡眠100毫秒。我也试过了

IWaveSource ws = new CSCore.MediaFoundation.MediaFoundationDecoder(strm); 

但是没有运气。我真的需要帮助

如果在Memorystream甚至cscore之外有一个选项可以在特定的扬声器设备上播放原始wav数据,我也会很高兴。Memorystream中的数据是什么格式的?