我编写了一个WinMM库包装库,它公开了WaveOut和WaveIn类,以便记录和播放原始音频流。一切都很好,但是为了遵循关于如何处理已完成的缓冲区的操作系统规范,我添加了一个线程来解除缓冲区的准备并释放内存。我还关闭了所有的同步,这样类才是可靠的和线程安全的。= new WaveIn(WaveIn.WaveInMapperDeviceId);
private WaveOutwaveOut = new WaveOut(<em
应用程序必须能够通过麦克风插孔进入的音频到扬声器。我没有处理进入插孔的字节,而是在软件中将它们传递给扬声器,而是说明了这样一个事实:我知道具体的硬件可以编写一个函数,使声卡的内置功能能够将音频从输入循环到扬声器。waveIn = null; public int SampleRate { get; set(waveIn);
waveOut</e