首页 > 解决方案 > 使用 JavaScript 进行麦克风输入

问题描述

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

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

标签: javascriptmicrophone

解决方案


这是一个想法:

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

我一直在尝试用视频来做到这一点,这样我就可以在 Google Meet 中替换我的视频,但 Google Meet 似乎会自动对我没有处理的 MediaStream 做一些事情(比如静音和暂停),所以这个项目不会工作呢。Google Meet 非常安全,所以这可能是问题所在,但我认为这个技巧可能对你有用!


推荐阅读