2015-07-20 4 views
1

Я не могу использовать следующие методы.Как закрыть datachannel webrtc?

Поскольку я использую только datachannel (не используйте GetUserMedia)

<script> 
    peerConnection.removeStream(remoteStream) 
    remoteVideo.onerror = null; 
    remoteVideo.pause(); 
    remoteVideo.src = undefined; 
    remoteStream.stop(); 
    remoteStream.onended = null; 
    remoteStream = null; 

    peerConnection.removeStream(localStream) 

    localVideo.onerror = null; 
    localVideo.pause(); 
    localVideo.src = undefined; 
    localStream.stop(); 
    localStream.onended = null; 
    localStream = null; 
</script> 

Есть ли способ, чтобы закрыть канал передачи данных?

+0

Можете ли вы точно определить, что не так? Если вы не используете носители, только datachannels, почему вы пытаетесь удалить потоки и приостановить видео элементы? – xdumaine

ответ

5

Чтобы закрыть RTCDataChannel, вы вызываете close() - это также можно вызвать в RTCPeerConnection, который закроет все datachannels, созданные на peerconnection.

var pc = new RTCPeerConnection(); 
var dc = pc.createDataChannel("my channel"); 
var dc2 = pc.createDataChannel("my other channel"); 

dc.onclose = function() { 
    console.log("datachannel close"); 
}; 

dc2.onclose = function() { 
    console.log("dc2 close"); 
}; 

dc.close(); 
pc.close(); 
Смежные вопросы