問題タブ [rtcpeerconnection]
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.
javascript - RTCPeerConnection IOS 12.2 から Android 7.X
RTCPeerConnection 通信を構築していますが、iOS 12.2 (Ipad でのみテスト済み) から Android (7.11 でのみテスト済み) への呼び出しでストリームが交換されないという 1 つの問題が見つかりました。
iOS から Chrome (デスクトップ)、iOS から iOS、iOS から Chrome デスクトップ、Android から iOS など、他のピアも問題ありません。
制約の使用オーディオはすべてのピアでのみ正常に機能しますが、ビデオを追加すると問題が発生し、iOS 12.2 => Android から接続されます。(iOSがオファーします)
コーデックの問題かもしれませんが、Android から iOS へのビデオ接続は問題なく確立されているので、わかりません。
ストリームではなくトラックを使用しています。
他の誰かがこれで問題を経験し、ヒントがありますか?
javascript - 引数が null の addIceCandidate はエラーになります
私は WebRTC を学習しようとしています。同じページで 2 つの RTCPeerConnection を接続することを達成しました。現在、それらを 2 つの別々のページに分割して接続しようとしています。ただし、コードを作成してオファーと回答を交換した後、initiator.html の addIceCandidate() が常にこれを null 引数でスローすることに気付きました。
Error at addIceCandidate from queue: TypeError: Failed to execute 'addIceCandidate' on 'RTCPeerConnection': Candidate missing values for both sdpMid and sdpMLineIndex
at processCandidateQueue (initiator.html:69)
少し読んだ後、ICE候補の収集が終了したことを示すためにnullが使用され、ここに例があることを学びました:https://webrtc.github.io/samples/src/content/peerconnection/pc1/ また、収集が終了したときに引数nullで「addIceCandidate」を実行します. しかし、現時点でエラーが表示される理由がわかりません。
私が試したこと:
- 候補が null の場合、addIceCandidate をスキップするようなチェックを作成しようとしました。
- 関数呼び出し間の遅延を減らすために、すべての接続ロジックをより少ないボタンに配置します
- 各ページにadapter-latest.jsを追加
結果:
- イニシエーターの接続状態は「失敗」、レシーバーの接続状態は「新規」です。レシーバー ページへのストリーミングに失敗しました。
- 同じエラーがスローされました
- エラーはなくなりましたが、接続はまだ失敗しています
開始者.html
receiver.html
common.js
common.css