我可以使用javascript在网络应用上录制语音吗?

时间:2013-02-26 06:22:02

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

似乎我只能使用Flash或Java在网络应用上录制语音。有没有办法通过JavaScript实现?

4 个答案:

答案 0 :(得分:16)

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

<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

答案 1 :(得分:4)

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

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

以下是一个示例: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。

答案 2 :(得分:1)

另一个明智的解决方案是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

答案 3 :(得分:1)

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

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