使用 JavaScript 进行麦克风输入

Posted

技术标签:

【中文标题】使用 JavaScript 进行麦克风输入【英文标题】:Microphone Input with JavaScript 【发布时间】:2021-07-01 15:06:48 【问题描述】:

我看过很多关于获取用户麦克风输入的问题和文章,但我想要的实际上是相反的。

是否可以通过麦克风发送声音,就像用户自己说话一样?就像 soundpad 一样,使用 JS。

【问题讨论】:

您能澄清一下“通过麦克风发送声音”的含义吗?您想将声音从 JS 应用程序发送到另一个应用程序? 是的!这正是我的意思。 【参考方案1】:

这是一个想法:

当用户想要带有麦克风音频的MediaStream 时,他们会拨打navigator.getUserMedia(video:false, audio:true);。我们可以将navigator.getUserMedia 重新定义为我们自己的函数(将原始函数保存在单独的全局变量中,以便我们仍然可以获取麦克风数据),该函数将返回一个播放文件中音频的 MediaStream。我们甚至可以返回一个组合的 MediaStream,它将来自麦克风的音频和一个使用 Web Audio API 的文件组合起来进行组合。

我一直在尝试对视频执行此操作,以便可以在 Google Meet 中替换我的视频,但 Google Meet 似乎会自动对 MediaStream 执行我未处理的操作(例如静音和暂停),因此该项目还不行。 Google Meet 非常安全,所以这可能是问题所在,但我认为这个技巧可能对你有用!

【讨论】:

以上是关于使用 JavaScript 进行麦克风输入的主要内容,如果未能解决你的问题,请参考以下文章

从 JavaScript 访问麦克风输入

Java:从 2 个不同的麦克风输入中独立捕获音频

通过 JavaScript 连接电脑音源

将javascript与计算机声音输入设备集成

从浏览器中的麦克风获取音频输入并提取特征

如何使用麦克风从麦克风/线路输入进行FFT