我正在开发用于视频录制的 WebRtc 和 JavaScript 库 RecordRtc。目前两者都适用于 Chrom 和 Mozilla。使用另一个 javascript 库 adaper.js,我可以在 Internet Explorer 和 Safari 中使用navigator.getUserMedia() 。所以下面的代码正在检测输入设备,例如:所有浏览器中的内置摄像头。
<video id="video" autoplay="" loop="" controls="" muted=""></video>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript" src="https://www.webrtc-experiment.com/RecordRTC.js"> </script>
<script type="text/javascript" src="https://cdn.temasys.com.sg/adapterjs/0.13.3/adapter.min.js"></script>
<script type="text/javascript">
var recorder;
var video = document.getElementById('video');
AdapterJS.webRTCReady(function(isUsingPlugin) {
navigator.getUserMedia = navigator.getUserMedia ||
navigator.webkitGetUserMedia ||
navigator.mozGetUserMedia ||
navigator.msGetUserMedia;
navigator.getUserMedia({ audio: true, video: true }, function(stream) {
//console.log("hai");
video.src = URL.createObjectURL(stream);
video.width = 320;
video.height = 240;
var options = {
type: 'video',
video: {
width: 320,
height: 240
},
canvas: {
width: 320,
height: 240
}
};
recorder = window.RecordRTC(stream, options);
//console.log(recorder);
recorder.startRecording();
}});
});
</script>
这在 Chrome 和 Mozilla 中运行良好,并且能够记录 blob。但在 IE 和 Safari 中检测到相机后显示一个错误,如下所示
排队
video.src = URL.createObjectURL(stream);
它正在显示
"No such interface supported"
任何人都可以提出任何解决方案或替代方案,非常感谢您的帮助,因为基本上我被卡住了。