RTCPeerConnection:getSenders() 方法

Baseline 广泛可用 *

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2020 年 1 月⁩ 起,所有主流浏览器均已支持。

* 此特性的某些部分可能存在不同级别的支持。

RTCPeerConnection 接口的 getSenders() 方法返回一个 RTCRtpSender 对象数组,每个对象代表负责传输一个轨道数据的 RTP 发送器。发送器对象提供了检查和控制轨道数据编码及传输的方法和属性。

语法

js
getSenders()

参数

无。

返回值

一个 RTCRtpSender 对象数组,每个对象对应连接上的一个轨道。如果连接上没有 RTP 发送器,则数组为空。

返回值 RTCRtpSender 实例的顺序未在规范中定义,并且在每次调用 getSenders() 时可能会发生变化。

该数组不包含与已停止的收发器(在 offer/answer 之后)关联的发送器。

示例

在此示例中,展示了一个 setMuting() 函数。该函数接收一个 RTCPeerConnection 对象 pc 和一个布尔值 muting 作为输入。该函数获取该对等连接的发送器列表,并遍历每个发送器,将相应媒体轨道的 enabled 属性设置为指定 muting 的反值。

js
function setMuting(pc, muting) {
  let senderList = pc.getSenders();

  senderList.forEach((sender) => {
    sender.track.enabled = !muting;
  });
}

规范

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

浏览器兼容性

另见