如何使用 WaveOutwaveIn API 录制和播放声音

How can i record and playback sound with WaveOutwaveIn Api

本文关键字:播放声音 API 何使用 WaveOutwaveIn      更新时间:2023-10-16

我需要录制和播放声音。但是在我的公司,我们为我们的特殊声卡提供了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 的包装器,并检查那里的实现。