我正在使用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/

10-10 00:14