RTCDTMFSender

Baseline 广泛可用 *

此功能已经成熟,并可在许多设备和浏览器版本上使用。自 ⁨2020 年 3 月⁩起,它已在各浏览器中推出。

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

RTCDTMFSender 接口提供了一种在 WebRTC RTCPeerConnection 上传输 DTMF 码的方法。您可以通过要发送 DTMF 的音频轨上的 RTCRtpSender.dtmf 属性来访问连接的 RTCDTMFSender

WebRTC 的 DTMF 支持的主要目的是允许基于 WebRTC 的通信客户端连接到 公共交换电话网 (PSTN) 或其他传统电话服务,包括现有的 IP 语音 (VoIP) 服务。因此,DTMF 不能在两个基于 WebRTC 的设备之间使用,因为 WebRTC 没有提供接收 DTMF 码的机制。

EventTarget RTCDTMFSender

实例属性

RTCDTMFSender.canInsertDTMF 只读

一个布尔值,如果 RTCDTMFSender 能够发送 DTMF 信号音,则为 true,否则为 false

RTCDTMFSender.toneBuffer 只读

一个字符串,包含当前在队列中等待传输的 DTMF 信号音列表(已播放的信号音不再包含在该字符串中)。有关信号音缓冲区的格式,请参阅 toneBuffer

实例方法

RTCDTMFSender.insertDTMF()

给定一个描述一组 DTMF 码的字符串,以及可选的信号音持续时间和信号音间隔,insertDTMF() 会开始发送指定的信号音。调用 insertDTMF() 会替换 toneBuffer 中所有已挂起的信号音。您可以通过指定一个空字符串("")作为要播放的信号音集来中止发送排队的信号音。

事件

使用 addEventListener() 监听这些事件,或通过将事件监听器分配给此接口的 oneventname 属性。

tonechange

tonechange 事件发送到 RTCDTMFSender 实例的事件处理程序,以指示信号音已开始或已停止播放。

示例

有关完整示例,请参阅文章 使用 WebRTC 的 DTMF

规范

规范
WebRTC:浏览器中的实时通信
# rtcdtmfsender

浏览器兼容性

另见