2016-04-28 3 views
1

Ich versuche, navigator.getUserMedia() api für die Aufnahme von Audio/Video zu verwenden. Ich habe folgenden Code.Fügen Sie eine Videospur hinzu, während navigator.getUserMedia läuft

var cameraEl; 

    window.URL = window.URL || window.webkitURL; 
    navigator.getUserMedia = (navigator.getUserMedia || 
          navigator.webkitGetUserMedia || 
          navigator.mozGetUserMedia); 
    navigator.getUserMedia(
     { video: true, audio: true }, 
     function (stream) { 

      cameraEl = document.getElementById("selfCam"); 
      cameraEl.src = window.URL.createObjectURL(stream); 
      window.mediaStream = stream; 

     }, 
     function() { 
      alert('Error: Camera failed!'); 
     } 
    ); 

als ich die Videospur wie diese zu stoppen,

window.mediaStream.getVideoTracks()[0].stop(); 

Jetzt möchte ich noch einmal die Videospur starten. Wie starte ich es?

Antwort

1

Sie müssen getUserMedia erneut aufrufen. stop() ist eine letzte Aktion.

+0

Danke Philipp. Aber gibt es irgendein Feature, mit dem ich die Videospur anhalten und später fortsetzen kann, anstatt die Videospur anzuhalten. – Nandkishor

+0

Der einfachste Weg besteht darin, den Videorekorder zu deaktivieren, indem Sie Folgendes tun: 'stream.getVideoTracks() [0] .enabled = false;' Dies sendet schwarze Frames, bis Sie wieder aktiviert auf True setzen. Dies löst die Kamera nicht aus und das Licht bleibt an. Neuverhandlung, d. H. Das Entfernen der Spur aus dem Datenstrom und späteres erneutes Hinzufügen, wird heutzutage in Browsern unterstützt, ist jedoch mühsam. –

Verwandte Themen