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 的定义 |
候选推荐 | - |
桌面浏览器兼容性
特性 | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
基础支持 | 27 | 未知 | 52 | 不支持 | 支持 | 未知 |
canInsertDTMF | 27 | 未知 | 未知 | 不支持 | 支持 | 未知 |
insertDTMF | 27 | 未知 | 52 | 不支持 | 支持 | 未知 |
ontonechange | 27 | 未知 | 52 | 不支持 | 支持 | 未知 |
toneBuffer | 27 | 未知 | 52 | 不支持 | 支持 | 未知 |
tonechange 事件 | 27 | 未知 | 52 | 不支持 | 支持 | 未知 |
移动浏览器兼容性
特性 | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
---|---|---|---|---|---|---|---|
基础支持 | 4.4 | 27 | 未知 | 52 | 未知 | 支持 | 未知 |
canInsertDTMF | 支持 | 27 | 未知 | 未知 | 未知 | 支持 | 未知 |
insertDTMF | 4.4 | 27 | 未知 | 52 | 未知 | 支持 | 未知 |
ontonechange | 支持 | 27 | 未知 | 52 | 未知 | 支持 | 未知 |
toneBuffer | 4.4 | 27 | 未知 | 52 | 未知 | 支持 | 未知 |
tonechange 事件 | 支持 | 27 | 未知 | 52 | 未知 | 支持 | 未知 |