我正在尝试从网络摄像头录制音频和视频。我偶然发现了HTML5 getUserMedia并进一步谷歌搜索引导我WebRTC [哦!顺便说一句,这真的很酷。
我实现了它并且在firefox上工作正常,能够完美地录制音频和视频。但是在Chrome上,音频或视频会根据传递的配置进行录制。进一步的谷歌搜索引导我this post,这清楚地表明一个线程阻挡了另一个线程。现在我已经看到了用于同时演示音频视频捕获的chrome的演示。
这就是我的代码:
// Start recording
captureUserMedia(function(stream) {
localStream = stream;
window.audioVideoRecorder = window.RecordRTC(stream, {
type : 'video/webm'
});
window.audioVideoRecorder.startRecording();
});
// Stop recording
window.audioVideoRecorder.stopRecording(function(url) {
videoElement.src = url;
videoElement.onended = function() {
videoElement.pause();
videoElement.src = URL.createObjectURL(audioVideoRecorder.getBlob());
};
});
以上代码用于在按钮点击时启动和录制媒体。
记录控制台后记录后回来的blob显示firefox为video/webm
,Chrome为audio/wav
。
这清楚地表明一个人正阻挡另一个人。是否有任何解决方案用于记录我想要的两个或任何其他javascript,以使其工作。
更新 正如下面提到的@ mido22那样是解决方法。可以找到here链接。
答案 0 :(得分:3)
我已经对这个主题做了一些研究,此时,没有办法获得包含音频和视频的单个录制文件。原因是,它可以在firefox中完成MediaRecorder API。
我没有使用过RecordRTC,但怀疑在内部,他们使用whammy.js进行webm
录制,recorderjs进行wav
录制。
因此,最简单的chrome解决方案是:
webm
的第一个实例将视频记录为RecordRTC
。 wav
的第二个实例将审核记录为RecordRTC
。