【问题标题】:Can I use javascript to record voice on a web app?我可以使用 javascript 在网络应用程序上录制语音吗?
【发布时间】:2013-02-11 12:35:22
【问题描述】:

看来我只能使用 Flash 或 Java 在网络应用程序上录制语音。有没有办法通过 JavaScript 做到这一点?

【问题讨论】:

标签: javascript html web-applications html5-audio voice-recording


【解决方案1】:

可以完成,但该解决方案目前无法在所有平台上运行。

<input type="file" accept="audio/*;capture=microphone">

HTML5 Media Capture

目前支持者:

Android 3.0 浏览器、Android 版 Chrome (0.16)、Firefox Mobile 10.0、iOS6 Safari 和 Chrome(部分支持)

链接:

http://www.html5rocks.com/en/tutorials/getusermedia/intro/

Audio capturing with HTML5

【讨论】:

  • iOS(最高 9 的所有版本)不支持通过 HTML5 媒体捕获仅录制音频。 iOS 上的 Safari 会调出照片/视频录制应用程序。
  • 一些很棒的截图,在 iOS9 上的 Safari 中使用 HTML 媒体捕获addpipe.com/blog/…
【解决方案2】:

Javascript 无法直接访问您的硬件。您需要的是可以的客户端技术。闪光,一个。

Javascript 可以很容易地与 flash 通信,因此您可以隐藏您的 flash 记录器并使用 html/js/css 构建您的记录器 ui。

这是一个例子:https://github.com/jwagener/recorder.js/blob/master/examples/example-1.html

这是另一个: http://blogupstairs.com/flashwavrecorder-javascript-flash-audio-recorder/

我意识到这不是您所需要的,但您没有说明您为什么需要 JS 解决方案。这并不能解决 flash 依赖问题,但它解决了 UI 问题,因为您可以在没有 flash 的情况下构建 UI。

【讨论】:

    【解决方案3】:

    另一个众所周知的解决方案是 WAMI,我知道它不是纯 javascript,但也许它可以提供帮助。

    “在撰写本文时,大多数浏览器仍然不支持 WebRTC 的 getUserMedia(),它承诺通过 Javascript 为 Web 开发人员提供麦克风访问权限。该项目为支持 Flash 的浏览器实现了下一个最佳功能。使用 WAMI 记录器,您无需安装任何专有媒体服务器软件即可在您的服务器上收集音频。” https://code.google.com/p/wami-recorder/

    另一个使用 node.js 的例子 这个示例应用程序是用 JavaScript 编写的,并使用 Node 和 Express 作为 Web 服务器和框架。您需要在您的 Web 服务器上安装所有这三个才能使其正常工作,以及 Node.js WebAPI 库。 nodejs voice recording example

    【讨论】:

      【解决方案4】:

      是的,有一种纯 HTML/JavaScript 方式,但它只适用于 Firefox 和 Chrome: http://audior.ec/blog/recording-mp3-using-only-html5-and-javascript-recordmp3-js/

      直接演示:http://audior.ec/recordmp3js/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-01-30
        • 1970-01-01
        • 2011-06-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多