在 Chrome 中使用 HTML5 和 getUserMedia 录制音频

Posted

技术标签:

【中文标题】在 Chrome 中使用 HTML5 和 getUserMedia 录制音频【英文标题】:Recording Audio with HTML5 and getUserMedia in Chrome 【发布时间】:2013-11-22 09:08:33 【问题描述】:

我希望在不使用 Flash 或 Silverlight 的情况下在 Chrome 中录制音频,然后使用 phpmysql 将其存储在数据库或服务器上。

我看到的唯一方法是通过 getUserMedia 和 html5 中的一些 JS。

例如: http://webaudiodemos.appspot.com/AudioRecorder/index.html

我在这里得到了 github 的来源: https://github.com/cwilso/AudioRecorder

问题是它似乎不适用于我的本地主机。事实上,包含的 index.html 与托管版本完全相同。托管版本可以工作,但是当在我的本地机器上运行相同的东西时,它会抛出一个错误,说它不能 getUserMedia()。

有没有人实现过类似的东西或有任何见解?非常感谢!

【问题讨论】:

请发布确切的错误并指定错误的来源;服务器,浏览器还是什么? 【参考方案1】:

我看到您提到了 localhost,但如果您尝试通过 file:/// 访问该站点,而不是实际使用 http://localhost(网络服务器),Chrome 将阻止访问 getUserMedia。

如果您尝试使用 file:/// 访问它,则需要使用 --allow-file-access-from-files 的命令行参数打开 Chrome

【讨论】:

【参考方案2】:

以下 gitHub 项目仅使用 HTML5 和 JS 直接从浏览器将音频录制为 MP3 格式。

它现在可以在 Chrome 和 Firefox 上运行。

https://github.com/nusofthq/Recordmp3js

要更详细地了解实现,您可以阅读博客文章: http://nusofthq.com/blog/recording-mp3-using-only-html5-and-javascript-recordmp3-js/

【讨论】:

【参考方案3】:

对于每个浏览器,它使用自己的前缀,因此对于 chrome,它是 webkitGetUserMedia()

有关不同前缀的更多信息,请参见此处的 Mozilla 页面: https://developer.mozilla.org/en-US/docs/Web/API/Navigator.getUserMedia

【讨论】:

以上是关于在 Chrome 中使用 HTML5 和 getUserMedia 录制音频的主要内容,如果未能解决你的问题,请参考以下文章

Chrome/PC 中的 HTML5 视频

html5音频无法在chrome中播放

HTML5 mp3 音频在 Chrome 和 Firefox 中不起作用

HTML5 视频大小与海报大小在 Chrome 中是错误的

HTML5 JavaScript 在 Chrome 中粘贴图像数据

在链接项";l()";中使用drupalu getu destination();