Javascript 无法在moblie设备上的浏览器中创建RTCIceCandidate实例

Javascript 无法在moblie设备上的浏览器中创建RTCIceCandidate实例,javascript,html,node.js,webrtc,Javascript,Html,Node.js,Webrtc,我最近正在尝试HTML5和WebRTC的一些很棒的功能,并且正在构建一个允许多人视频聊天的网站 在我的电脑上,一切都很好,HTML5的媒体捕捉效果非常好。但当我在我的电脑上设置视频源,并试图通过android/iphone/ipad连接到它时,它就是不起作用。我检查了日志,这表明由于未知原因,RTICeCandidate的创建失败: // To be processed as either Client or Server case "CANDIDATE": trace("*******

我最近正在尝试HTML5和WebRTC的一些很棒的功能,并且正在构建一个允许多人视频聊天的网站

在我的电脑上,一切都很好,HTML5的媒体捕捉效果非常好。但当我在我的电脑上设置视频源,并试图通过android/iphone/ipad连接到它时,它就是不起作用。我检查了日志,这表明由于未知原因,RTICeCandidate的创建失败:

// 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中


非常感谢各位!需要你的手

您应该能够在此处测试设备支持:


我不是webrtc方面的专家,但根据以下网站的说法,IOS和Android应该支持:但你需要使用爱立信浏览器


在其中一条评论中,它确实说爱立信浏览器使用了贬值的ROAP信号,不能用于与(例如)Chrome的对等通信。一条评论说blackbarry本机浏览器现在支持getUserMedia,所以Android和iOS可能会紧随其后。不过目前没有本地支持。爱立信浏览器的实现似乎是基于被贬低的标准

不确定这是否与您的设备设置有关。以下网站在你的设备上运行吗?(我的设备上没有,但我有一部旧的android手机):不,@HMR,我的Nexus 4、android 4.2.2、chrome 25.0和ip5上的safari都无法运行,所以我想这只是因为移动设备现在不支持这些功能?如果是这样的话,我真的会很难过:(我不是webrtc方面的专家,但根据以下网站的说法,IOS和Android应该得到支持:但你需要使用爱立信浏览器,它确实说爱立信浏览器使用了贬值的ROAP信号,不能用于与其他浏览器的对等通信(例如)Chrome。一条评论说blackbarry本机浏览器现在支持getUserMedia,所以Android和iOS可能会紧随其后。不过目前没有本机支持。而且爱立信浏览器的实现似乎是基于被贬低的标准。@HMR非常感谢您提供的信息,伙计。那么我想现在必须等待。请将您的评论粘贴到answ呃,请回答这个问题,这样我就可以标记它了。