【问题标题】:Record audio on multiple tracks simultaneously from multiple devices从多个设备同时在多个轨道上录制音频
【发布时间】:2014-12-26 21:09:24
【问题描述】:

我目前正在使用 javascript 中的 Web Audio API 开发一个音频 Web 应用程序,但我发现了一个问题:我需要同时从不同的设备录制到不同的轨道(想象一下,例如在 8 个缓冲区中录制的具有 8 个输入的声卡独立地录制鼓手),但我还没有找到任何方法来告诉 AudioContext 你必须从哪个设备录制:(

有人可以帮我吗?非常感谢:)

【问题讨论】:

  • 如果你想使用 js,听起来像是 web-sockets 和节点服务器的工作。但是,如果没有应用程序的本机访问,在手机上录制音频通常相当棘手。

标签: javascript web web-audio-api


【解决方案1】:

您可以拥有多个麦克风 - 但前提是它们插入多通道接口。 通过多次调用 getUserMedia 来处理单独的设备,并限制选择不同的输入 - 查看https://simpl.info/getusermedia/sources/index.html。不过,我不确定我们是否已经准备好支持这一点。

【讨论】:

  • 是的,想法就是这样。这个想法是,用户可以插入具有多个输入/输出的 USB/火线接口,并可以从浏览器进行录制(例如,想想 cubase)。我有一些在操作系统中编写 Asio 客户端应用程序的经验,但在这里我没有应用程序“下方”的驱动程序,而是 Web 浏览器。这种方法的好处是可移植性,但它不如 c++ 高效(尽管 web-audio 应该是本机实现的),而且你没有得到这样的硬件控制。所有这些都必须在客户端完成,以使应用程序具有可扩展性
  • 嗯,您应该能够在单个界面上执行此操作 - 它们只会在您从 MediaStreamSourceNode 获得的输出中显示为多个通道。
  • 他们没有。无论您选择作为输入的接口有多少个通道,MediaStreamSourceNode 的 channelCount 都为 2。将 channelInterpretation 设置为“离散”并手动将 channelCount 设置得更高只会产生静音通道。
  • Chrome 当前实现的限制。应该在未来实施。
  • @cwilso 这个限制会被移除吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-10-07
  • 1970-01-01
  • 1970-01-01
  • 2020-05-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多