我正在使用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"
任何人都可以提出任何解决方案或替代方案,因为基本上我被困住了,所以将不胜感激帮助。
最佳答案
这是因为IE和Safari在其最新的稳定公开发行版中尚未实现WebRTC。
检查WebRTC browser support页面以获取详细信息。
关于javascript - 使用RecordRTC的WebRTC视频录制显示IE和Safari中的错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36933899/