Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从javascript上的getUserMedia()获取超过3小时的音频输入_Javascript_Windows_Macos_Google Chrome_Audio - Fatal编程技术网

如何从javascript上的getUserMedia()获取超过3小时的音频输入

如何从javascript上的getUserMedia()获取超过3小时的音频输入,javascript,windows,macos,google-chrome,audio,Javascript,Windows,Macos,Google Chrome,Audio,我想从javascript上的getUserMedia()获取超过3ch的音频输入 我使用谷歌浏览器。 我在Windows10上连接了超过3小时音频输入的音频接口, 使用USB电缆。 我尝试使用javascript上的“navigator.mediaDevices.getUserMedia(constraints);”从音频界面获取声音。 我可以得到1和2ch音频输入。 但我无法从音频接口获得超过3ch的音频输入 数字混音器软件附带音频接口,可获得3小时以上的音频输入 我认为getUserMed

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

我使用谷歌浏览器。 我在Windows10上连接了超过3小时音频输入的音频接口, 使用USB电缆。 我尝试使用javascript上的“navigator.mediaDevices.getUserMedia(constraints);”从音频界面获取声音。 我可以得到1和2ch音频输入。 但我无法从音频接口获得超过3ch的音频输入

数字混音器软件附带音频接口,可获得3小时以上的音频输入

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

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

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

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

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

首先,我要说的是,即使你在浏览器中使用JS进行多通道(3+通道)输入录制,我也会惊讶地看到它运行良好,至少没有很高的延迟。话虽如此,在这个过程中尝试和学习总是值得的

铬的 如果您检查Chromium的源代码(Chrome构建在的顶部),则文件会声明:

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

如合同所述:

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

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

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

推荐 <>我不确定你的编程经验,但是对于这种情况,你通常会使用C++(或者其他语言,但是C++ C++是音频的一般用法),把一个应用程序分为你的浏览器并在你的PC上运行它。p> 如果您承诺在web浏览器中使用JS,您可以创建一个进程,将音频从桌面发送到本地网页。这可以在C++中完成,或者如果你对这个问题比较熟悉,Python就可以开始了。
此外,如果您熟悉/未被介绍,您还可以构建一个编译应用程序(即windows上的.exe),该应用程序可以访问所有音频频道,因为它不在浏览器中运行,而只是使用浏览器解释javascript。我发现这是在Electron.js中使用的,它应该支持多通道输入。这样,您就可以只使用JavaScript/HTML/CSS编写一个桌面应用程序,并具有多通道音频输入

谢谢你的评论。直到浏览器本身支持多声道输入,我们才能在Web浏览器上获得多声道输入的声音,对吗?好的,我将在我将开发的本机应用程序上试用它。
Line 31 >> const int kMaxInputChannels = 3;