RTCDTMFSender:tonechange 事件
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.
tonechange
事件会被 WebRTC API 发送给 RTCDTMFSender
,以指示先前(通过调用 RTCDTMFSender.insertDTMF()
)排队等待发送的 DTMF 音调何时开始和结束。
要确定哪个音调开始播放,或者音调是否停止播放,请检查事件的 tone
属性的值。
此事件不可取消,也不会冒泡。
语法
在像 addEventListener()
这样的方法中使用事件名称,或设置事件处理器属性。
js
addEventListener("tonechange", (event) => {});
ontonechange = (event) => {};
事件类型
一个 RTCDTMFToneChangeEvent
。继承自 Event
。
事件属性
除了 Event
的属性外,此接口还提供以下属性:
RTCDTMFToneChangeEvent.tone
只读-
一个字符串,指定已开始播放的音调,或者如果上一个音调已完成播放,则为空字符串(
""
)。
示例
此示例建立了一个处理 tonechange
事件的处理器,它会更新一个元素以在其内容中显示当前播放的音调,或者,如果所有音调都已播放,则显示字符串 "<none>"。
这可以使用 addEventListener()
来完成:
js
dtmfSender.addEventListener(
"tonechange",
(ev) => {
let tone = ev.tone;
if (tone === "") {
tone = "<none>";
}
document.getElementById("playingTone").innerText = tone;
},
false,
);
你还可以直接设置 ontonechange
事件处理器属性:
js
dtmfSender.ontonechange = (ev) => {
let tone = ev.tone;
if (tone === "") {
tone = "<none>";
}
document.getElementById("playingTone").innerText = tone;
};
规范
Specification |
---|
WebRTC: Real-Time Communication in Browsers # event-RTCDTMFSender-tonechange |
浏览器兼容性
BCD tables only load in the browser