2017-04-09 16 views
0

ビデオチャットを作成する次のプロジェクトでwebRTCを試してみたところ、テストは難しかったです。getUserMedia - 同時に2つのブラウザからカメラにアクセスできない

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

クロムとMozillaに正常に動作しますが、私は一緒にそれをしようとすると、それは動作しません:私はカメラにアクセスするには、この単純なコードを持っています。私が意味するところは、このコードを2つのブラウザで同じファイルを開くことです。 1つのブラウザがカメラにアクセスすると、誰かのためにそれをブロックするように見えます。

この問題はインターネット上で議論されていないので、私は疑問に思っていました、それは私ですか?そうでなければ、解決策はありますか?

+2

これは実際にはうまくいきません。 – Pointy

答えて

4

これはWindowsの制限です。 Mac OSでは、同時に複数のアプリケーションで同じカメラを使用できますが、残念ながらWindowsでは使用できません。あなたはここにいくつかのオプションがあります:

  1. 購入マック
  2. は、テストしながら、2番目のアプリケーションで使用するために、第2のUSBカメラを取得します。
  3. software for splitting your cameraまたはcreating a virtual cameraをインストールしてください。
  4. ChromeやFirefox(またはその両方)で偽のデバイスを使用してテストします(フィリップス氏の提案など)。実際にはFirefoxで偽のデバイスを有効にするのはかなり簡単ですし、無料ですので、別のUSBカメラを座っていない場合はおそらく最良のオプションです。ただ、警告メッセージ
  5. を受け入れ、あなたのURLバー
  6. about:configに行く
    1. は、新しいブール値を追加します。これを行うには、右クリックし、New-> Booleanを選択します。
    2. 次に入力してくださいmedia.navigator.streams.fake
    3. 値としてtrueを選択してください。 enter image description here カメラを使用すると、偽のビデオと音声が聞こえます。
2

ChromeとFirefoxの両方にコマンドラインフラグがあり、偽のデバイスを有効にすることでテストが簡単になります。 here for Firefoxをご覧ください。Chromeについてはもう少し詳しく説明しています。

関連する問題