我需要录制和播放声音。但是在我的公司,我们为我们的特殊声卡提供了DLL。这个dll与api一起工作,类似于waveIn\waveOut api。例如,如果我需要waveOutOpen
函数,我正在编写companyNameWaveOutOpen
.我需要编写录制和播放声音(铃声)的程序。请帮助我,如何使用WaveOut\WaveIn API录制和播放声音。如果你能帮助我,请给我C++或 C#/VB.NET 的例子。添加我需要在扬声器中聆听麦克风提供的声音。
waveInXxx
/waveOutXxx
是旧的 API,网上有很多示例。一个简单的播放代码可以在这里找到 LowLatencyWaveOutPlay,并且还讨论了这个问题:使用 WaveOUT API 产生音调声音所需的最小音频缓冲区是什么。
Windows SDK 包含:
- \Samples\multimedia\windowsmediaformat\audioplayer - 使用 API
waveOutXxx
示例 - \Samples\multimedia\audio\DuckingCaptureSample - 使用 API
waveInXxx
示例。
您可以使用开源 NAudio 作为此 API 的包装器,并检查那里的实现。