好的,我将尝试尽可能清楚地说明我的问题,但我很困惑,所以如果我没有传达信息,请告诉我。
我正在尝试使用 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!!');
}
我一直在尝试查看此内容以供参考:
HTML5 getUserMedia 记录网络摄像头,包括音频和视频
原文由 wvm2008 发布,翻译遵循 CC BY-SA 4.0 许可协议
MediaStream Recording(或它定义的
MediaRecorder
JS 对象之后的 Media Recorder API )现已在桌面上的 2 个主要浏览器中实现:容器:
视频编解码器:
音频编解码器:
演示/GitLab:
确保在 HTTPS 或本地主机上运行这些演示:
延伸阅读:
免责声明:我在处理视频录制的 Pipe 工作。