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 - 用于网络桌面/移动应用程序的音频流录制的主要内容,如果未能解决你的问题,请参考以下文章
JavaScript 用于IE的html5 / jQuery innerHTML修复
HTML5视频获取currentTime不适用于媒体事件javascript addEventListener