2016-04-29 11 views
2

Ich arbeite an WebRtc und Javascript Bibliothek RecordRtc für Videoaufnahmen. Derzeit werden beide an Chrom und Mozilla arbeiten. Mit einer anderen Javascript-Bibliothek adaper.js bin ich in der Lage, navigator.getUserMedia() in Internet Explorer und Safari zu machen. So Der folgende Code erkennt das Eingabegerät zB: eingebaute Kamera in allen Browsern.WebRTC Videoaufnahme mit RecordRTC zeigt Fehler in IE und Safari

<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> 

Dies funktioniert gut in Chrome und Mozilla und in der Lage, aufgezeichnet Blob zu erhalten. Aber in IE und Safari Es zeigt einen Fehler nach dem Erfassen der Kamera wie unten

In Zeile

video.src = URL.createObjectURL(stream); 

es

"No such interface supported" 

irgendeine beliebige Lösung oder Alternative vorschlagen kann, zeigt, eine Hilfe wird sehr geschätzt, weil ich im Grunde steckengeblieben bin.

+0

[RecordRTC unterstützt derzeit nur MS-Edge] (https://github.com/muaz-khan/RecordRTC#browsers-support). ** Noch keine Safari/IE-Unterstützung. ** Apple-Jungs (Gerüchten zufolge) planen, WebRTC zu implementieren, also warten wir! IE wird (vielleicht/scheint) aus MSEdge herausgenommen. –

Antwort

1

Dies liegt daran, dass IE und Safari WebRTC noch nicht in ihrer neuesten stabilen öffentlichen Version implementiert haben.

Überprüfen Sie die WebRTC browser support Seite für die Details.

+0

Während dieser Link die Frage beantworten kann, ist es besser, die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz bereitzustellen. Nur-Link-Antworten können ungültig werden, wenn sich die verknüpfte Seite ändert. - [Aus Bewertung] (/ review/low-quality-posts/16727029) –

+0

Ok, aber diese spezielle Frage wird mit der Zeit völlig irrelevant sein :) – Istvan

1

Sie können das Temasys WebRTC Plugin und Adapter.js verwenden, um alle vier Hauptbrowser zu unterstützen. Wir schneiden auch zu ORTC und Edge, obwohl Edge zu diesem Zeitpunkt keine WebRTC-Videostreams unterstützt.

Skylink.io, Temasys PaaS ermöglicht auch Aufzeichnung und Archivierung in privaten Beta-Versionen und auf Anfrage. Die GA-Freigabe wird später im Q2 2016 sein.

Offenlegung: Ich bin der COO und CMO von Temasys.