【问题标题】:How to capture PCM data from Wave Out如何从 Wave Out 中捕获 PCM 数据
【发布时间】:2008-09-21 18:19:30
【问题描述】:

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

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

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

提前致谢。

【问题讨论】:

    标签: windows winapi audio directshow


    【解决方案1】:

    新的 Windows Vista 核心音频 API 明确支持这一点(称为环回录制),因此如果您可以使用仅 Vista 的应用程序,那么这是可行的方法。

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

    【讨论】:

      【解决方案2】:

      我认为没有直接的方法可以使用操作系统来执行此操作 - 这是声卡上可能(或可能不)存在的功能。一些声卡有一个环回接口——Creative 称之为“你听到什么”。您只需选择它作为输入而不是麦克风,然后使用您已经知道的普通 waveInOpen() 从中记录。

      如果声卡没有这个功能,那么我认为你不走运,除了做一些疯狂的事情,比如制作自己的驱动程序。或者,您可以说服您的用户将电缆从扬声器输出连接到线路输入 :)

      【讨论】:

        猜你喜欢
        • 2015-03-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-28
        • 1970-01-01
        • 2013-08-24
        • 2016-08-28
        • 1970-01-01
        相关资源
        最近更新 更多