Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

fix: Add details for createDTMFSender() method in RTCPeerConnection interface #33955

Merged
merged 10 commits into from
Sep 23, 2024
67 changes: 67 additions & 0 deletions files/en-us/web/api/rtcpeerconnection/createdtmfsender/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
---
title: "RTCPeerConnection: createDTMFSender() method"
short-title: createDTMFSender()
slug: Web/API/RTCPeerConnection/createdtmfsender
page-type: web-api-instance-method
status:
- deprecated
- non-standard
browser-compat: api.RTCPeerConnection.createDTMFSender
---

{{APIRef("WebRTC")}}{{Deprecated_Header}}{{non-standard_header}}

The **`createDTMFSender()`** method of the {{domxref("RTCPeerConnection")}} interface creates a new {{domxref("RTCDTMFSender")}} object associated with the specified {{domxref("MediaStreamTrack")}}, which can be used to send DTMF tones over the connection.

This method is deprecated and should not be used. Instead, use the {{domxref("RTCRtpSender.dtmf")}} property to access the DTMF sender associated with a specific sender.

## Syntax

```js
const dtmfSender = pc.createDTMFSender(track);
```

### Parameters

- `track`
- : A {{domxref("MediaStreamTrack")}} object representing the track to associate with the new DTMF sender.

### Return value

A new {{domxref("RTCDTMFSender")}} object.

## Example

This example creates a new DTMF sender associated with the specified track.

```js
navigator.getUserMedia({ audio: true }, (stream) => {
const pc = new RTCPeerConnection();
const track = stream.getAudioTracks()[0];
const dtmfSender = pc.createDTMFSender(track);
});
```

## Migrating to RTCRtpSender.dtmf

Above example can be rewritten using the `RTCRtpSender.dtmf` property:

```js
navigator.getUserMedia({ audio: true }, (stream) => {
const pc = new RTCPeerConnection();
const track = stream.getAudioTracks()[0];
const sender = pc.addTrack(track, stream);
const dtmfSender = sender.dtmf;
});
```

## Browser compatibility

{{Compat}}

## See also

- [WebRTC](/en-US/docs/Web/API/WebRTC_API)
- {{domxref("RTCDTMFSender")}}
- {{domxref("RTCRtpSender")}}
- {{domxref("RTCPeerConnection")}}
2 changes: 1 addition & 1 deletion files/en-us/web/api/rtcpeerconnection/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ _Also inherits methods from {{DOMxRef("EventTarget")}}._
- {{DOMxRef("RTCPeerConnection.addStream", "addStream()")}} {{Deprecated_Inline}} {{Non-standard_Inline}}
- : Adds a {{DOMxRef("MediaStream")}} as a local source of audio or video.
Instead of using this obsolete method, you should instead use {{DOMxRef("RTCPeerConnection.addTrack", "addTrack()")}} once for each track you wish to send to the remote peer.
- {{DOMxRef("RTCPeerConnection.createDTMFSender", "createDTMFSender()")}} {{Deprecated_Inline}}
- {{DOMxRef("RTCPeerConnection.createDTMFSender", "createDTMFSender()")}} {{Deprecated_Inline}} {{Non-standard_Inline}}
- : Creates a new {{DOMxRef("RTCDTMFSender")}}, associated to a specific {{DOMxRef("MediaStreamTrack")}}, that will be able to send {{Glossary("DTMF")}} phone signaling over the connection.
- {{DOMxRef("RTCPeerConnection.removeStream", "removeStream()")}} {{Deprecated_Inline}} {{Non-standard_Inline}}
- : Removes a {{DOMxRef("MediaStream")}} as a local source of audio or video.
Expand Down