audio - 将USB网络摄像头和USB扬声器组合到Windows中的单个虚拟音频设备中

标签 audio driver media directshow ms-media-foundation

我们需要创建一个虚拟音频设备,将来自USB网络摄像头的麦克风与一组USB扬声器相结合。

我们希望此虚拟音频设备的行为与耳机的行为相同。也就是说,如果我们位于Lync>工具>选项>音频设备中,则希望虚拟音频设备出现在主下拉菜单中,该菜单仅显示同时具有麦克风和扬声器的设备。

我们研究了以下解决方案:

  • 使用TopoEdit创建虚拟音频设备。
  • 这是一个GUI,因此对我们不起作用。
  • 使用虚拟音频电缆创建虚拟音频设备。
  • 这是一个GUI,因此对我们不起作用。
  • 使用DirectShow来“欺骗”音频设备。
  • 这将涉及使用过滤器图表。
  • 不利的一面是,DirectShow已被赞成使用MS Media Foundation。
  • 使用MS Media基础“欺骗”音频设备。
  • 的缺点是文档很差。
  • 编写虚拟音频设备驱动程序。
  • 例如Microsoft虚拟音频设备驱动程序示例

  • 如果我们得到了我们真正想要的,我们将结合起来:

    1带有麦克风的媒体设备,以及
    2将带有扬声器的媒体设备插入
    3具有扬声器和麦克风的虚拟媒体设备。

    最佳答案

    由于要使设备对Lync可用,因此需要首先检查Lync或什至特定版本的Lync用于音频捕获的API。很有可能是视频的DirectShow或Media Foundation,音频的DirectShow,Media Foundation或MMDevice API。另外,可能会发生这样的情况,即在不同的环境和/或不同的Lync版本中使用了不同的API。您可能需要在多个API上提供虚拟设备的可能性很高。

    它只是所有API都会选择的虚拟音频设备驱动程序,但是其创建可能比所有其他选项都更复杂。

    关于audio - 将USB网络摄像头和USB扬声器组合到Windows中的单个虚拟音频设备中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19734429/

    相关文章:

    android - setPlaybackParams 防止在 API 23 上开始播放

    actionscript-3 - 关于 as3 Sound.extract() 格式的详细信息?

    android - 如何将 MediaBrowserService 与小部件一起使用?

    c# - 播放音频文件

    android - 不断检查 Android 服务中的音量变化

    javascript - 如何从 Node.js 中的 URL 下载音频文件?

    c - 如何运行KMDF驱动程序?

    c# - 强制重新加载 Windows 视频驱动程序。有可能吗?

    python - scipy.signal.fftconvolve-更多详细信息?

    java - 从 Java 同时使用 MySQL 3.x 和 5.x