RTCRtpTransceiver: stop() 方法

Baseline 已广泛支持

此特性已得到良好确立,并可在多种设备和浏览器版本上运行。自 2021 年 1 月起,所有浏览器均已支持此特性。

RTCRtpTransceiver 接口中的 stop() 方法通过停止关联的 RTCRtpSenderRTCRtpReceiver 来永久停止收发器。

语法

js
stop()

参数

无。

返回值

无(undefined)。

异常

InvalidStateError DOMException

如果收发器所属的 RTCPeerConnection 已关闭,则会抛出此异常。

描述

当您对收发器调用 stop() 时,发送器会立即停止发送媒体,并且其每个 RTP 流都会使用 RTCP "BYE" 消息关闭。然后接收器停止接收媒体;接收器的 track 会被停止,收发器的 direction 会变为 stopped。通过向收发器的 RTCPeerConnection 发送 negotiationneeded 事件来触发重新协商,以便连接可以适应此更改。

如果收发器已停止,则此方法无效。您可以通过将 currentDirection"stopped" 进行比较来检查它是否已停止。

注意: 规范的早期版本使用已弃用的 stopped 已弃用 属性来指示收发器是否已停止。

规范

规范
WebRTC:浏览器中的实时通信
# dom-rtcrtptransceiver-stop

浏览器兼容性

另见