2017-04-09 95 views
0

我一直在嘗試使用webRTC來爲我的下一個項目創建視頻聊天,並且測試一直很困難。我有這個簡單的代碼來訪問攝像機:getUserMedia - 無法同時從兩個瀏覽器訪問攝像頭

 navigator.getUserMedia = navigator.getUserMedia || 
           navigator.webkitGetUserMedia || 
           navigator.mozGetUserMedia || 
           navigator.msGetUserMedia; 

     var video = document.querySelector('#av-chat video'); 

     if (navigator.getUserMedia) { 
      navigator.getUserMedia({audio: true, video: true}, function(stream) { 
      video.src = window.URL.createObjectURL(stream); 
      }, errorCallback); 
     } 

這適用於Chrome和Mozilla,但是當我嘗試這樣做起來,這是行不通的罰款。我的意思是在一起就像在兩個瀏覽器中使用此代碼打開相同的文件。看起來,當一個瀏覽器訪問攝像頭時,它會阻止其他人訪問攝像頭。

我還沒有看到在互聯網上討論過這個問題,所以我想知道,這是我嗎?如果沒有,是否有解決方案?

+2

事情會這樣工作真的不奇怪。 – Pointy

回答

4

這是對Windows的限制。在Mac OS上,您可以同時在多個應用程序中使用相同的相機,但不幸的是,在Windows中不能。你有幾個選擇這裏:

  1. 購買Mac
  2. 獲取第二USB攝像頭,同時測試你的第二個應用程序中使用。
  3. 安裝一些software for splitting your cameracreating a virtual camera
  4. 在Chrome或Firefox(或兩者)中使用虛假設備進行測試(如Philipp建議)。在Firefox中打開假設備非常容易,而且它是免費的,所以如果您還沒有其他USB攝像頭,這可能是最好的選擇。
    1. 剛去about:config在地址欄上
    2. 接受警告信息
    3. 添加一個新的布爾值。您可以通過右鍵單擊並選擇New-> Boolean來完成此操作。
    4. 然後輸入media.navigator.streams.fake
    5. 選擇true作爲值。 enter image description here 現在,當你使用你的相機,你會得到一個虛假的視頻和音頻聲音。
2

Chrome和Firefox都有命令行標誌,通過啓用僞造設備使測試變得更容易。請參閱here for Firefox,並進一步瞭解Chrome。

相關問題