首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在javascript上从getUserMedia()获得超过3 3ch的音频输入

如何在javascript上从getUserMedia()获得超过3 3ch的音频输入
EN

Stack Overflow用户
提问于 2018-07-01 12:18:35
回答 1查看 515关注 0票数 1

我想从javascript上的getUserMedia()获得超过3ch的音频输入。

我用谷歌铬。我连接的音频接口,有3ch以上的音频输入与Windows10,使用USB电缆。我尝试使用javascript上的"navigator.mediaDevices.getUserMedia(constraints);“从音频接口获取声音。我可以得到1和2ch音频输入。但是我不能从音频接口中获得超过3ch的音频输入。

数字混频器软件附加音频接口,可获得超过3ch的音频输入。

我认为getUserMedia()可以从默认的Windows音频驱动程序中获得声音。这样我就能得到1和2 2ch的音频输入。

我听说mac的音频驱动程序是USB音频2.0级。我在mac OS上试过。我可以得到1和2ch音频输入。但是我不能使用getUserMedia()获得超过3 3ch的音频输入。

如何从javascript上的音频接口获得超过3ch的音频输入?

我认为如果getUserMedia()从ASIO驱动程序获得声音,我可以这样做。但我不知道如何在javascript上的getUserMedia()上使用ASIO驱动程序。

如果你知道什么,请告诉我。提前谢谢你。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-03 12:13:58

首先,我要说的是,即使您在浏览器中使用JS获得多通道(3+通道)输入记录,我也会被告知它在没有很高延迟的情况下工作得很好。尽管如此,在这个过程中总是值得我们去学习的。

controller.cc

如果您检查Chrome的源代码(Chrome是构建在Chrome之上的),文件controller.cc声明:

代码语言:javascript
复制
Line 31 >> const int kMaxInputChannels = 3;

这表明,如果你想去更高的3频道,我认为这是不可能的。这是假设Chrome还没有在此基础上进一步增加更多的频道输入支持,但是到目前为止,我还没有看到比直接通过Chrome的立体声通道输入更高的支持。这是在GitHub文件夹中,没有特定的操作系统,所以我假设它在所有桌面平台上使用。

media.getusermedia.channels

正如MediaDevices.getUserMedia()文档中所述:

首选项media.getusermedia.channels允许您控制要捕获的最大通道数;默认值为0,它告诉getUserMedia()捕获所有可用的、受支持的通道。

因此,为了测试实际支持的最大输入通道数,我将此参数设置为0,并查看实际返回了多少个音频缓冲区--这样您就可以确定系统的信道限制。

摘要

我不确定您的应用程序的目标是什么,但就通过浏览器进行的多通道输入而言,除了等待浏览器本身支持多通道输入之外,别无选择。正如您所说的,您的DAW可以访问多个3ch输入,因为这是一个编译好的软件,运行于浏览器之间,并且可以访问所有系统级别的信息(即声卡硬件及其所有通信)。

推荐

我不确定您的编程经验水平,但是对于这种情况,您通常会使用C++ (或者其他语言,但C++是音频的首选)来构建一个独立于浏览器的应用程序,并在您的PC上运行它。要在C++中获取多声道音频输入,您可以使用一个框架,比如朱斯端口音频

如果您承诺在web浏览器中使用JS,您可以创建一个进程,将音频从桌面发送到本地的网页。这可以在C++中完成,或者如果您对此有更多的了解,也许使用PyAudio的Python会更容易入门。

此外,如果您熟悉/尚未向Electron.js,介绍,您还可以构建一个已编译的应用程序(即windows上的.exe ),它可以访问所有的音频通道,因为它不是在浏览器中运行,而是使用浏览器来插入javascript。我发现这个端口音频绑定可以在Electron.js中使用,它应该支持多通道输入。这样,您就可以使用JavaScript/HTML/CSS编写桌面应用程序,并具有多声道音频输入!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51123229

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档