Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

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

Merged
merged 10 commits into from
Sep 23, 2024
66 changes: 66 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,66 @@
---
title: "RTCPeerConnection: createDTMFSender() method"
short-title: createDTMFSender()
slug: Web/API/RTCPeerConnection/createdtmfsender
Josh-Cena marked this conversation as resolved.
Show resolved Hide resolved
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
bc-lee marked this conversation as resolved.
Show resolved Hide resolved

```js
const dtmfSender = pc.createDTMFSender(track);
Josh-Cena marked this conversation as resolved.
Show resolved Hide resolved
```

### Parameters

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

### Return value

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

## Example
bc-lee marked this conversation as resolved.
Show resolved Hide resolved

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

```js
navigator.getUserMedia({audio: true }, (stream) => {
bc-lee marked this conversation as resolved.
Show resolved Hide resolved
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:
Josh-Cena marked this conversation as resolved.
Show resolved Hide resolved

```js
navigator.getUserMedia({audio: true }, (stream) => {
bc-lee marked this conversation as resolved.
Show resolved Hide resolved
const pc = new RTCPeerConnection();
const track = stream.getAudioTracks()[0];
const sender = pc.addTrack(track, stream);
const dtmfSender = sender.dtmf;
});
```

## Browser compatibility
Josh-Cena marked this conversation as resolved.
Show resolved Hide resolved

{{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
Loading