2017-09-13 12 views
0

こんにちは、私は現在webRTCアプリを開発中です。その「ビデオアドバイザー」は、クライアントが売り手とビデオ通話を行い、売り手がビデオ通話を失うことなく、自分の画面も共有したいと考えています。私はそれを一括して動作させることができましたが、クライアントが呼び出しを終了し、新しいクライアントが到着したときに、売り手が(この新しいクライアントを使って)画面を再び共有しようとすると、エラーが発生します。ページをリロードせずにWebRTC画面を複数回共有する

エラーは、次のいずれかです。enter image description here

私は問題は画面共有APIを維持するために、これは私が欲しいものです(ウィンドウを更新せずに、画面共有を終了し、再開をサポートしていないことであると思いますオンラインで売り手になり、ページ全体を更新せずに通話を終了すると聞く)。

これは、クライアントが呼び出したまま一度画面共有解除するためのコードです:

if(yourConn.getLocalStreams()[1] != null){ 
     var screenStreaming = yourConn.getLocalStreams()[1]; 
     yourConn.removeStream(screenStreaming); 
     screenStreaming.getTracks().forEach(track => track.stop()); 
} 

私はこのコードが正常に画面の共有を停止する知っているが、私は理解しないし、なぜ私は新しい画面共有ストリームを作成するときに、私が投稿したエラーが表示されます。私は本当に助けが必要です。

ところで、私はクロムを使っています。

読んでいただきありがとうございます。私がはっきりと尋ねられなければ、これは私の最初の質問です。

答えて

0

スクリーン共有の開始と停止は、複数回は可能です。 InvalidStateErrorは、chromeMediaSourceIdに複数回渡されたchooseDesktopMediaからIDを再利用しようとしているように(曖昧に)鳴ります。これは可能ではなく、chooseDesktopMediaをもう一度呼び出す必要があります(ユーザに再度画面を選択させる)

関連する問題