RTCDTMFSender - 提供了一种在 WebRTC RTCPeerConnection 上传输 DTMF 代码的机制

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

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

属性

RTCDTMFSender.toneBuffer 只读

一个 DOMString,包含当前要发送的队列中 DTMF 音的列表(已播放的音不再包含在字符串中)。有关音频缓冲区格式的详细信息,请参见 toneBuffer

方法

RTCDTMFSender.insertDTMF()

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

事件

使用 addEventListener() 或通过为此接口的 oneventname 属性分配事件监听器来监听这些事件:

tonechange

tonechange 事件被发送到 RTCDTMFSender 实例的事件处理程序,以指示音调已经开始或停止播放。也可以使用 ontonechange 事件处理程序属性来处理。

实例

有关完整的实例,请参见文章在 WebRTC 中使用 DTMF

规范

规范 状态 备注
WebRTC 1.0: Real-time Communication Between Browsers
RTCDTMFSender 的定义
候选推荐 -

桌面浏览器兼容性

特性ChromeEdgeFirefoxInternet ExplorerOperaSafari
基础支持27 未知52 不支持 支持 未知
canInsertDTMF27 未知 未知 不支持 支持 未知
insertDTMF27 未知52 不支持 支持 未知
ontonechange27 未知52 不支持 支持 未知
toneBuffer27 未知52 不支持 支持 未知
tonechange 事件27 未知52 不支持 支持 未知

移动浏览器兼容性

特性AndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
基础支持4.427 未知52 未知 支持 未知
canInsertDTMF 支持27 未知 未知 未知 支持 未知
insertDTMF4.427 未知52 未知 支持 未知
ontonechange 支持27 未知52 未知 支持 未知
toneBuffer4.427 未知52 未知 支持 未知
tonechange 事件 支持27 未知52 未知 支持 未知

相关链接