如何关闭WebRTC数据通道?

3

我不能使用以下方法。

因为我只使用数据通道(不使用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>

有没有一种方法可以关闭数据通道?

你能具体说明出了什么问题吗?如果你没有使用媒体,只是数据通道,请问为什么要删除流并暂停视频元素? - xdumaine
1个回答

8

要关闭一个RTCDataChannel,您需要调用close()方法 - 这个方法也可以在RTCPeerConnection上调用,这将关闭所有在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();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接