我最近在尝试 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;
原来第二个日志永远不会出现。
有人有什么想法吗?是因为这些功能目前在移动设备上不可用吗?或者我应该为移动设备做些什么?
哦,这是 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中。
非常感谢你们!需要你的双手!