【问题标题】:How to programatically route audio from any Recording device to any Playback device如何以编程方式将音频从任何录音设备路由到任何播放设备
【发布时间】:2020-10-06 06:45:09
【问题描述】:

我想创建一个虚拟混音器,它允许我将来自任何输入(录音)设备的音频信号路由到任何输出(播放)设备。

IE:假设我有 2 个虚拟输入设备(IN-A 和 IN-B)和 2 个输出设备(OUT-C 和 OUT-D),所以我想要

Spotify playing to IN-A  -> OUT-C

MIC                      -> OUT-D

Chrome playing to IN-B   -> OUT-C

另外,我希望能够设置设备音量或增益、使设备静音并实时监控信号或音量。

问题: 我什至不知道从哪里开始。我猜我将不得不去 C++,但我不知道是否有一个现有的库允许我这样做。 我一直在研究并找到了 portaudio(和其他人),但在投入更多时间之前,我想从专家那里知道哪个是继续我的研究和 POC 开发的良好起点。

注意:windows 或任何操作系统本机混音器都不能满足我的需求。我需要以编程方式实现这一点。

提前致谢!

【问题讨论】:

    标签: c++ audio portaudio mixer


    【解决方案1】:

    看看这篇维基百科文章:

    https://en.wikipedia.org/wiki/Windows_legacy_audio_components

    有几种方法可以实现这一点。 我个人没有写混音器工具,但是我做了一个基于 winmm.lib 功能的合成器项目。

    如果你想要低延迟的混音器,你必须编写一个软件驱动程序,我不建议这样做。

    【讨论】:

    • 您的回复让我再次使用 WASAPI,恐怕我需要进行非常低级的编码......
    • 有很多选择,试试DirectX Audio,它不是很低级。无论如何,软件混音器是一个非常复杂的项目。我个人认为你需要从一个简单的模型开始,然后转向更复杂的库。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-09
    • 2011-12-21
    • 2017-08-31
    • 2020-01-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多