2

我开始用 rtcPeerConnection 做一些测试,我是这个技术的初学者,我想知道它是否正常:在控制台中,当调用方法 onicecandidate 时,我打印冰候选,但我不知道是否正常许多 RTCIceCandidate 出现在控制台中, 这里是输出控制台

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);
}
4

1 回答 1

2

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

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

于 2013-09-10T10:31:39.310 回答