RTCPeerConnection: removeStream() 方法

已弃用:此功能不再推荐。尽管一些浏览器可能仍然支持它,但它可能已被从相关的 Web 标准中删除,或者正在被删除,或者可能只是出于兼容性目的而保留。避免使用它,并尽可能更新现有代码;请参阅此页面底部的 兼容性表 来指导您的决策。请注意,此功能可能随时停止工作。

非标准:此功能是非标准的,不在标准化轨道上。不要在面向 Web 的生产环境中使用它:它不适用于所有用户。不同实现之间也可能存在较大差异,并且行为在将来可能会发生变化。

removeStream() 方法是 RTCPeerConnection 接口的方法,用于从音频或视频的本地源中删除 MediaStream。如果协商已经完成,则需要进行新的协商,以便远程对等方可以使用它。由于此方法已弃用,如果您的目标浏览器版本已实现它,则应改为使用 removeTrack()

如果 signalingState 设置为 "closed",则会引发 InvalidStateError。如果 signalingState 设置为 "stable",则会向 RTCPeerConnection 发送 negotiationneeded 事件。

语法

js
removeStream(mediaStream)

参数

mediaStream

一个 MediaStream,用于指定要从连接中删除的流。

返回值

示例

js
let pc;
let videoStream;
navigator.getUserMedia({ video: true }, (stream) => {
  pc = new RTCPeerConnection();
  videoStream = stream;
  pc.addStream(stream);
});
document.getElementById("closeButton").addEventListener(
  "click",
  (event) => {
    pc.removeStream(videoStream);
    pc.close();
  },
  false,
);

浏览器兼容性

BCD 表仅在启用 JavaScript 的浏览器中加载。

另请参阅