是否可以使用客户端 JavaScript 从浏览器访问麦克风(内置或辅助)?
理想情况下,它将录制的音频存储在浏览器中。谢谢!
原文由 chris_aych 发布,翻译遵循 CC BY-SA 4.0 许可协议
是否可以使用客户端 JavaScript 从浏览器访问麦克风(内置或辅助)?
理想情况下,它将录制的音频存储在浏览器中。谢谢!
原文由 chris_aych 发布,翻译遵循 CC BY-SA 4.0 许可协议
13 回答13k 阅读
7 回答2.2k 阅读
3 回答1.3k 阅读✓ 已解决
6 回答1.3k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
6 回答1.1k 阅读
在这里,我们使用 getUserMedia() 将麦克风音频捕获为 Web Audio API 事件循环缓冲区…打印每个音频事件循环缓冲区的时域和频域片段(在浏览器控制台中可见,只需按下键 F12 或 ctrl+shift+i )
由于此代码将麦克风数据公开为缓冲区,因此您可以添加使用 websockets 进行流式传输的功能,或者简单地将每个事件循环缓冲区聚合到一个怪物缓冲区中,然后将怪物下载到一个文件中
注意调用
这表明它使用了所有现代浏览器(包括移动浏览器)中内置的 Web Audio API ,以提供极其强大的音频平台,其中的麦克风只是一个很小的片段…… 注意 CPU 使用率因此而上升演示将每个事件循环缓冲区写入浏览器控制台日志,这仅用于测试,因此即使您修改它以将音频流式传输到其他地方,实际使用也不会占用太多资源
一些 Web Audio API 文档的链接