rtcPeerConnection异常行为?

时间:2013-09-10 07:53:10

标签: javascript html5 webrtc

我开始用rtcPeerConnection做一些测试,我是这个tecnologic的初学者,我想知道它是否正常: 在控制台中我调用方法onicecandidate时打印候选冰,但我不知道是否正常有多个RTCIceCandidate出现在控制台中 here the output console

var isChrome = !!navigator.webkitGetUserMedia;
var STUN = {
    url: isChrome
        ? 'stun:stun.l.google.com:19302'
        : 'stun:23.21.150.121'
};
var TURN = {
    url: 'turn:homeo@turn.bistri.com:80',
    credential: 'homeo'
};
var iceServers = {
    iceServers: [STUN, TURN]
};
var sdpConstraints = {
    optional: [],
    mandatory: {
        OfferToReceiveAudio: true,
        OfferToReceiveVideo: true
    }
};
var video = document.getElementById('thevideo');
var button = document.getElementById('thebutton');

navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia;
RTCPeerConnection = webkitRTCPeerConnection || mozRTCPeerConnection;
var local_stream;
navigator.getUserMedia({video:true, audio:false}, function(stream){
    local_stream = stream;
    video.src = URL.createObjectURL(stream);
    start();
}, function(err){
    console.log("The Following error ocurred:"+ err);
});
function start()
{
    pc = new RTCPeerConnection(iceServers);
    pc.onicecandidate = function(evt)
    {
        console.log(evt.candidate);
    }
    pc.createOffer(function(desc)
    {
        pc.setLocalDescription(desc);
        console.log(desc);
    },function(err){
            console.log("The Following error ocurred:"+ err);
        },sdpConstraints);
}

1 个答案:

答案 0 :(得分:2)

是的 - 很多ICE候选人都很正常。 (您将从apprtc.appspot.com获得类似的结果。)

请注意,要显示视频,您需要在视频元素上使用自动播放属性,或在gum成功处理程序中使用video.play()