使用 Html 5 捕获麦克风并使用 socket.io 广播

Posted

技术标签:

【中文标题】使用 Html 5 捕获麦克风并使用 socket.io 广播【英文标题】:Capturing Microphone Using Html 5 and broadcast using socket.io 【发布时间】:2012-06-24 06:05:58 【问题描述】:

我目前正在开发带有白板、视频/音频会议的虚拟教室。如何使用 html5、javascript 捕获麦克风。如何从麦克风创建 base64 编码字符串?我已经从标签捕获视频图像并在画布上绘制,并接收 base64 编码字符串并广播给所有学生及其作品。音频标签也有类似的方法吗?我想使用 socket.io 向全班广播教师麦克风的声音。我找到了许多教程,但每个人都解释了视频而不是音频:(。我使用的是 Chrome -v 21 并且能够使用 webkit。 提前致谢

【问题讨论】:

【参考方案1】:

Stream API 应该允许您这样做,但不幸的是,在任何当前(稳定的)浏览器中它都是 not supported。您可以下载nightly build of Google Chrome,它肯定包含对 API 的一些支持,但我不确定它的完整性。

我猜应该不会太久,直到节点的插件开始出现以帮助在服务器端处理这些东西,但同时以下内容可能有用:

    Streaming audio from a Node.js server to HTML5 tag A Node.js module for parsing and/or injecting metadata into SHOUTcast/Icecast radio streams. Streaming audio using Firefox Audio Data API + Node.js + WebSocket + Redis Pub/Sub

【讨论】:

非常感谢您的支持 卢克没问题。如果对您有帮助,您应该接受答案。 经过长时间的研究,我没有找到关于使用 html 5 录制音频样本数据的解决方案。我发现所有关于预定义音频剪辑流而不是实时麦克风样本数据流的论坛。我想知道 html 5 是否只能捕获带有视频元素的音频样本数据。我发现了一些使用 Flash 麦克风插件录制音频的插件,但我希望在 html 5 中也一样。您的 cmets 将帮助您完成 :) 谢谢 这是我的代码: 我如何 console.log 实时流数据?如果我应该使用计时器那么如何?谢谢你【参考方案2】:

更新: http://code.google.com/p/chromium/issues/detail?id=112367

正在解决这个问题,使其在 Windows 平台上也很稳定,但在 Mac 上工作。

【讨论】:

这是一个有用的链接,但最好作为对问题的评论而不是答案,因为它实际上并没有提供解决方案。 这不是讽刺;这是一种获得的特权。

以上是关于使用 Html 5 捕获麦克风并使用 socket.io 广播的主要内容,如果未能解决你的问题,请参考以下文章

使用 .NET Framework 捕获麦克风音频流

Phonegap:使用麦克风

使用麦克风录制时,SDL 音频捕获未检测到任何音频

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

React Native 录制视频并捕获 Speech to Text

编码音频时的 xuggle-xuggler 5.4 NullPointerException