Web/API/RTCDTMFSender/tonechange event

From Get docs

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.

Bubbles No
Cancelable No
Interface RTCDTMFToneChangeEvent
Event handler property ontonechange

To determine what tone started playing, or if a tone stopped playing, check the value of the event's tone property.

Examples

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 = "&lt;none&gt;";
  }

  document.getElementById("playingTone").innerText = tone;
}, false);

You can also just set the ontonechange event handler property directly:

dtmfSender.ontonechange = function( ev ) {
  let tone = ev.tone;
  if (tone === "") {
    tone = "&lt;none&gt;"
  }

  document.getElementById("playingTone").innerText = tone;
};

Specifications

Specification Status Comment
WebRTC 1.0: Real-time Communication Between BrowsersThe definition of 'tonechange' in that specification. Candidate Recommendation Definition for the WebRTC API

Browser compatibility

Update compatibility data on GitHub

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet
tonechange event Chrome

Full support 27

Edge

Full support ≤79

Firefox

Full support 52

IE

No support No

Opera

Full support Yes

Safari

?

WebView Android

Full support Yes

Chrome Android

Full support 27

Firefox Android

Full support 52

Opera Android

Full support Yes

Safari iOS

?

Samsung Internet Android

Full support 1.5

Legend

Full support  
Full support
No support  
No support
Compatibility unknown  
Compatibility unknown