RTCDTMFSender: toneBuffer 属性

Baseline 已广泛支持

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

RTCDTMFSender 接口的 toneBuffer 属性返回一个字符串,其中包含当前排队等待通过 RTCPeerConnection 发送到远程对等端的 DTMF 音调列表。要将音调放入缓冲区,请调用 insertDTMF()

音调在播放时会从字符串中移除,因此只列出即将播放的音调。

一个列出要播放的音调的字符串。如果字符串为空,则没有待处理的音调。

异常

InvalidCharacterError DOMException

如果字符不是 DTMF 音调字符(0-9A-D#,),则抛出此异常。

音调缓冲区格式

音调缓冲区是一个字符串,可以包含 DTMF 标准允许的任意字符组合。

DTMF 音调字符

数字 0-9

这些字符代表电话键盘上的数字键。

字母 A-D

这些字符代表“A”到“D”键,它们是 DTMF 标准的一部分,但未包含在大多数电话上。它们被解释为数字。小写字母“a”-“d”会自动转换为大写。

井号(“#”)和星号(“*”)

这些对应于电话键盘底部一排上带有类似标签的键。

逗号(“,”)

此字符指示拨号过程在发送缓冲区中的下一个字符之前暂停两秒钟。

注意:所有其他字符都无法识别,并且会导致 insertDTMF() 抛出 InvalidCharacterError DOMException

使用音调缓冲区字符串

例如,如果您正在编写代码通过发送 DTMF 代码来控制语音邮件系统,您可能会使用一个字符串,例如 "*,1,5555"。在这个例子中,我们将发送 "*" 来请求访问 VM 系统,然后,暂停后,发送 "1" 来开始播放语音邮件消息,然后暂停后,拨打 "5555" 作为 PIN 码来打开消息。

将音调缓冲区设置为空字符串("")会取消任何待处理的 DTMF 代码。

示例

待定

规范

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

浏览器兼容性

另见