JavaScript/HTML5-面向Web桌面/移动应用程序的音频流录制

4
有没有一些库或插件可以记录来自WebRTC流的音频流并将其保存在设备/电脑上?我正在使用Angular js + Node.js + JS + Phonegap(没有JQUERY)。我正在构建一个webapp,将通过phonegap在移动设备上运行,但我真的不想重新发明轮子。因此,拥有在移动和桌面应用程序上运行的一些库/插件将是很棒的。注:如果有比Phonegap更有帮助的东西,那就更好了,因为实际上我只使用Phonegap构建移动应用程序(仅作为Web视图)。
1个回答

4
那么对你来说有好消息,其实有一个库可以做你想做的事情。唯一让人沮丧的是:据我所知,相关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怎么办?或者更好地说:我在哪里可以检查此库支持哪些浏览器/设备? - itsme
更新了我的回答,提到了一个库,如果不支持WebRTC,则会回退到Flash。 - David Mulder
移动设备上的Flash? - R3tep

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接