The tonechange
event is sent to an RTCDTMFSender
by the WebRTC API to indicate when DTMF tones previously queued for sending (by calling RTCDTMFSender.insertDTMF()
) begin and end.
To determine what tone started playing, or if a tone stopped playing, check the value of the event's tone
property.
This event is not cancelable and does not bubble.
Use the event name in methods like addEventListener()
, or set an event handler property.
addEventListener("tonechange", (event) => {});
ontonechange = (event) => {};
In addition to the properties of Event
, this interface offers the following:
-
RTCDTMFToneChangeEvent.tone
Read only
-
A string specifying the tone which has begun playing, or an empty string (""
) if the previous tone has finished playing.
This example establishes a handler for the tonechange
event which updates an element to display the currently playing tone in its content, or, if all tones have played, the string "<none>".
This can be done using addEventListener()
:
dtmfSender.addEventListener(
"tonechange",
(ev) => {
let tone = ev.tone;
if (tone === "") {
tone = "<none>";
}
document.getElementById("playingTone").innerText = tone;
},
false,
);
You can also just set the ontonechange
event handler property directly:
dtmfSender.ontonechange = (ev) => {
let tone = ev.tone;
if (tone === "") {
tone = "<none>";
}
document.getElementById("playingTone").innerText = tone;
};