私は最近、HTML5 と WebRTC のいくつかの素晴らしい機能を試しており、複数の人がビデオ チャットできるようにサイトを構築しています。
私の PC ではすべてが問題なく動作し、HTML5 のメディア キャプチャは魅力的に機能します。しかし、PC でビデオ ソースをセットアップし、Android/iPhone/iPad 経由で接続しようとすると、うまくいきませんでした。ログを確認したところ、不明な理由で RTCIceCandidate の作成が失敗したことが示唆されています。
// To be processed as either Client or Server
case "CANDIDATE":
trace("************important*********", "we get in");
var candidate = new RTCIceCandidate({candidate: msg.candidate});
trace("************important*********", JSON.stringify(candidate));
break;
2 番目のログが表示されないことが判明しました。
誰でも何か考えがありますか?今のところ、そのような機能がモバイル デバイスで利用できないためですか? または、モバイル デバイス用に何か特別なことをする必要がありますか?
ああ、これは決して呼び出されない IceCandidatem のコールバックです:
// This function sends candidates to the remote peer, via the node server
var onIceCandidate = function(event) {
if (event.candidate) {
trace("openChannel","Sending ICE candidate to remote peer : " + event.candidate.candidate);
var msgCANDIDATE = {};
msgCANDIDATE.msg_type = 'CANDIDATE';
msgCANDIDATE.candidate = event.candidate.candidate;
msgCANDIDATE.peer = server;
msgCANDIDATE.me = weAreActingAs;
//trace("openChannel","candidate peer : " + JSON.stringify(event));
socket.send(JSON.stringify(msgCANDIDATE));
} else {
trace("onIceCandidate","End of candidates");
}
}
サーバーはnodejsにあります。
どうもありがとう!あなたの手が必要です!