Bug 179415 - Get/set audio output devices -- mediaDevices.enumerateDevices() & HTMLMediaElement.setSinkId()
Summary: Get/set audio output devices -- mediaDevices.enumerateDevices() & HTMLMediaEl...
Status: RESOLVED DUPLICATE of bug 216641
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebRTC (show other bugs)
Version: Safari 11
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
Depends on:
Reported: 2017-11-08 00:02 PST by Chad Phillips
Modified: 2020-09-18 05:19 PDT (History)
6 users (show)

See Also:

Get/set audio output test case (1.33 KB, text/html)
2017-11-08 00:02 PST, Chad Phillips
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Chad Phillips 2017-11-08 00:02:39 PST
Created attachment 326312 [details]
Get/set audio output test case

mediaDevices.enumerateDevices() does not return any valid devices of type 'audiooutput'

HTMLMediaElement.setSinkId(), used to pass output device IDs to media elements to control which output the element should use, is not supported.

Attached test case illustrates these work on Chrome and Opera, but not Safari.
Comment 1 Chad Phillips 2018-04-23 21:27:48 PDT
As of r230941 this is still an existing limitation.

Is it blocked on something? Is there an intention to implement this feature?

Looks to me like it's part of the standards: https://w3c.github.io/mediacapture-output/
Comment 2 Tom Hartnett 2018-09-17 11:56:37 PDT
Because it's not possible to change the audio output on iOS/Safari, it's not possible to deliver an audio-only call to the handset earpiece, as one would expect an audio only call to behave.
Comment 3 Clement Wehrung 2018-11-16 06:06:31 PST
FYI setSinkId will shortly be available in all browsers except Safari: 
- Chrome: already supported
- Edge: already supported
- Firefox: coming in v64
Comment 4 Eugene Godun 2020-09-18 04:33:21 PDT
Any progress on this bug?
It supports in Chrome, EDGE, Opera, Firefox(under the flag).
Comment 5 youenn fablet 2020-09-18 05:19:25 PDT
Work is being done at bug 216641, let's continue there.
Current status:
- enumerateDevices can expose output devices that are in the same group as microphone devices
- ongoing work to add/specify setSinkId/setAudioOutputDevice
- ongoing work add/specify selectAudioOutputDevice

*** This bug has been marked as a duplicate of bug 216641 ***