Javascript / HTML5 - 用于网络桌面/移动应用程序的音频流录制

Posted

技术标签:

【中文标题】Javascript / HTML5 - 用于网络桌面/移动应用程序的音频流录制【英文标题】:Javascript / HTML5 - Audio stream recording for web desktop/mobile app 【发布时间】:2014-04-04 06:25:03 【问题描述】:

是否有一些库/插件来记录来自 webRTC 流的音频流并将其保存在本地设备/PC 上?

我正在使用Angular js + Node.js + JS + Phonegap(没有 JQUERY)

感谢 phonegap,我正在构建一个可以在移动设备上运行的 web 应用程序,但我真的不想重新发明***。

所以最好有一些在移动和桌面应用程序上运行的 lib/plugin/dunno

注意:如果有比 Phonegap 更有帮助的东西,那就是 appriciated,因为实际上我只使用 Phonegap 来构建手机 app 仅此而已(仅作为 webview)

【问题讨论】:

【参考方案1】:

那么对你来说好消息,实际上有一个图书馆正在做你想做的事。唯一可悲的是:相关的 API(据我所知)在移动设备上不可用。换句话说,您需要构建一个抽象层,在移动设备上使用 Cordova 捕获 API,在桌面设备上使用 RecordRTC,这是一个相当广泛的库,或者更明确地说是 Recorder.js,这需要更多时间工作落实。最后,您可以使用这个也称为 Recorder.js 的库,它较旧且维护较少,但如果不支持 WebRTC,则应回退到 Flash。

举一个RecordRTC应该如何工作的例子:

navigator.getUserMedia(audio: true, video:false, function(mediaStream) 
   window.recordRTC = RecordRTC(MediaStream);
   recordRTC.startRecording();
);

btnStopRecording.onclick = function() 
   recordRTC.stopRecording(function(audioURL) 
      window.open(audioURL);
      //or
      recordRTC.save();
   );
;

尽管如此,尽管这样一个抽象层需要做一些工作,但它远非重新发明***。

【讨论】:

酷,如果设备不支持 webRTC 怎么办?或者说得更好:我在哪里可以检查这个库支持哪些浏览器/设备? 更新了我的回答,提到一个库在不支持 WebRTC 的情况下会退回到 Flash。 移动设备的闪存?

以上是关于Javascript / HTML5 - 用于网络桌面/移动应用程序的音频流录制的主要内容,如果未能解决你的问题,请参考以下文章

捕获 HTML5 媒体网络错误 javascript

JavaScript 用于IE的html5 / jQuery innerHTML修复

HTML5视频获取currentTime不适用于媒体事件javascript addEventListener

用于移动safari的html5网络应用程序,用于从Photos.app上传图像?

独特的设备识别

6款开发者必备的JavaScript插件推荐