問題タブ [ortc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
webrtc - Edge の WebRTC で「addRemoteCandidate のタイムアウト。候補終了通知の送信を検討してください」が表示される
注:最新の編集を確認してください
エッジで次の警告が表示されます。
これを修正する方法がわかりません。私は adapter.js を使用していますが、人々がこの問題について話しているスレッドを見つけました。しかし、修正は機能しません。
を追加しようとしましpc.addIceCandidate(null)
たが、何もしません。
checking
Chrome では動作し、ICE の状態は非常にconnected
高速になります。
エッジで ICE 状態がハングアップしchecking
、数秒後に に移行しnew
ますが、新しい状態ではないはずです。
編集:
を追加するpc.addIceCandidate(null);
と、 が得られます0: InvalidStateError
。呼び出す前の状態pc.addIceCandidate(null);
は ですnew
。
も使用してみpc.addIceCandidate({candidate:''});
ましたが、何もしません。
修正を追加しようとするコードの関連部分は次のとおりです。
そしてソケット呼び出しで:
編集:
に問題があるようですadapter.js
:
に入る必要がありますelse if
が、決して実行しません。私はしようとしましたがconsole.log(candidate.candidate)
、それは私を示していますundefined
。else if 条件に追加しようとし
|| candidate.candidate == undefined
ましたが、それでもelse if
.
実際、adapter.js ファイルを変更するのはすでに間違っていると感じています。また、最新バージョンを使用していることも確認しましたが、ここで何が起こっているのか、エッジでこの問題を抱えているのはなぜ私だけなのかわかりません。
編集:
私が持っている最善のアプローチ。ここでのみ使用してpc.addIceCandidate(null)
います:
これは、else if
を追加しようとする adapter.js に入りますa=end-of-candidates\r\n
が、前に次のように失敗します。
adapter.js の次の行:
ここに候補を追加する必要があると思います。null
さまざまな構文バリアントを試しましたが、成功しませんでした:
Edge のMicrosoft ドキュメントから:
リモート RTCIceGatherer が最終候補を送信する場合、ローカル RTCIceTransport が予想されるリモート候補がこれ以上ないことを認識し、「完了」状態に入ることができるように、RTCIceCandidateComplete 辞書を引数として addRemoteCandidate() を呼び出す必要があります。
私は試した:
最初のものは私に与えます: