windows - 如何从 Wave Out 中捕获 PCM 数据

标签 windows winapi audio directshow

如何以编程方式捕获音频?我正在实现一个实时流式传输网络桌面的应用程序。视频部分结束。我需要实现音频部分。我需要一种方法从声卡获取 PCM 数据以馈送到我的编码器(使用 Windows 媒体格式实现)。

我认为答案与 Win32 API 中的 openMixer()、waveInOpen() 函数有关,但我不确定具体应该怎么做。

如何打开必要的 channel 以及如何从中读取PCM数据?

提前致谢。

最佳答案

新的 Windows Vista Core Audio API 明确支持此功能(称为环回录音),因此如果您可以使用仅适用于 Vista 的应用程序,这就是可行的方法。

参见 Loopback Recording有关如何执行此操作的说明,请参阅 MSDN 上的文章。

关于windows - 如何从 Wave Out 中捕获 PCM 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/111603/

相关文章:

c++ - 使用 WinAPI 时连接字符串

ios - 在 XCode 中添加声音时应该使用哪种格式?

audio - MP3无法在FBML中播放

c++ - 让编译器在 Notepad++ 中工作

windows - 如何让 Apache2.2 从 PHP 加载 SQLite3 类?

c++ - 在拖动窗口或按住菜单按钮期间,如何阻止 Windows 阻止程序?

java - 使用java确定给定的已记录音频数据的byte []个频率

c - 在 Windows 上,C 的二进制写入模式出错?

python - 使用 KeyboardInterrupt 终止子进程

winapi - 以编程方式写入丰富编辑后,EM_UNDO 不起作用