2016-04-28 38 views
1

我正在嘗試使用navigator.getUserMedia()api來捕獲音頻/視頻。我有以下代碼。navigator.getUserMedia在運行時添加視頻軌跡

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!'); 
     } 
    ); 

比我停止視頻軌道這樣,

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

現在我想重新開始視頻軌道。我如何開始它?

回答

1

您需要再次調用getUserMedia。 stop()是最後一個動作。

+0

謝謝菲利普。但是有什麼功能可以讓我暫停視頻軌道並在稍後恢復,而不是停止視頻軌道。 – Nandkishor

+0

最簡單的方法是通過這樣做來禁用視頻軌道: 'stream.getVideoTracks()[0] .enabled = false;' 這會發送黑色幀,直到您將啓用設置爲真。這不會釋放相機,並且指示燈仍然亮着。 現在瀏覽器支持重新協商,即從流中移除曲目並稍後添加它,但相當乏味。 –