2013-04-19 81 views
0

我最近尝试了HTML5和WebRTC的一些非常棒的功能,并且正在构建允许多人视频聊天的网站。RTCIceCandidate实例无法在移动设备上的浏览器中创建

在我的电脑上一切正常,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。

非常感谢!需要你的双手!

+0

不确定这可能与您的设备设置有关。以下网站是否可以在您的设备上运行?(它并没有在我的设备上运行,但我有一个旧的android手机):http://www.simpl.info/getusermedia/ – HMR

+0

Nah,@HMR,我无法得到它在我的Nexus 4,android 4.2.2,chrome 25.0以及ip5上的safari上工作,所以我想现在移动设备上不支持这些功能?我真的很伤心,如果是这样的话:( – Sean

+0

我不是webrtc的专家,但根据以下网站应该支持IOS和Android:http://updates.html5rocks.com/2012/12/WebRTC -hits-Firefox-Android-and-iOS,但您需要使用爱立信浏览器 – HMR

回答

0

你应该能够测试设备支持位置:http://www.simpl.info/getusermedia/

我在的WebRTC但根据以下站点没有专家应该有支持IOS和Android:http://updates.html5rocks.com/2012/12/WebRTC-hits-Firefox-Android-and-iOS但你需要使用爱立信浏览器

在其中一个评论中,它表示爱立信浏览器使用折旧的ROAP信号,并且不能用于与Chrome(例如)的对等通信。一个评论指出,blackbarry原生浏览器现在支持getUserMedia,所以也许Android和iOS会跟随。尽管目前没有本地支持。而爱立信浏览器的实施似乎基于折旧标准。

相关问题