RTCDTMFSender: tonechange event

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 Browsers
The definition of 'tonechange' in that specification.
Candidate Recommendation Definition for the WebRTC API

Browser compatibility

DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
tonechange eventChrome Full support 27Edge Full support ≤79Firefox Full support 52IE No support NoOpera Full support YesSafari ? WebView Android Full support YesChrome Android Full support 27Firefox Android Full support 52Opera Android Full support YesSafari iOS ? Samsung Internet Android Full support 1.5

Legend

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