【发布时间】:2013-07-20 23:00:07
【问题描述】:
好的,我会尽量让我的问题尽可能清楚,但我很困惑,所以如果我没有传达信息,请告诉我。
我正在尝试使用 getUserMedia 来使用网络摄像头,然后使用这个
http://www.w3.org/TR/mediastream-recording/
录制简短的捕获视频。问题是,当我尝试定义新的 MediaRecorder(stream) 时,我被告知它是未定义的。我以前没有使用过这个api,所以我真的不知道我错过了什么。以下是相关代码:
function onVideoFail(e) {
console.log('webcam fail!', e);
};
function hasGetUserMedia() {
return !!(navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia);
}
if (hasGetUserMedia()) {
window.URL = window.URL || window.webkitURL;
navigator.getUserMedia = navigator.getUserMedia ||
navigator.webkitGetUserMedia ||
navigator.mozGetUserMedia ||
navigator.msGetUserMedia;
if (navigator.getUserMedia) {
navigator.getUserMedia({video: true, audio: false}, function(stream){
var video = document.querySelector('video');
var recorder = new MediaRecorder(stream); <<<<<< THIS IS MY PROBLEM SPOT
video.src = window.URL.createObjectURL(stream);
video.play();
// webcamstream = stream;
// streamrecorder = webcamstream.record();
}, onVideoFail);
} else {
alert('failed');
}
} else {
alert('getUserMedia() is not supported by this browser!!');
}
我一直在尝试查看此内容以供参考:
【问题讨论】:
-
浏览器控制台中的任何错误? lib没有加载还是什么?
-
只是这个:未捕获的 ReferenceError:MediaRecorder 未定义
-
由于 MediaRecorder 是最近添加的,如果您使用的是 chrome,请检查它是否已启用 chrome://flags 等。
-
跨浏览器音频流录制实现:1) github.com/muaz-khan/WebRTC-Experiment/tree/master/… 或 2) github.com/streamproc/MediaStreamRecorder / RecordRTC 也支持它:github.com/muaz-khan/WebRTC-Experiment/tree/master/RecordRTC
-
有人知道是否有办法通过 RTCPeerConnections 获取 MediaStream 的字节吗?我需要一种方法来获取没有 MediaStreamRecorder 的模拟记录器(视频帧的画布元素)的字节。这会导致视频质量非常差。
标签: javascript html