Bug 184141 - Can't select audio output on iOS
Summary: Can't select audio output on iOS
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebRTC (show other bugs)
Version: Safari 11
Hardware: iPhone / iPad iOS 11
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2018-03-29 11:55 PDT by Tom Hartnett
Modified: 2021-04-16 02:28 PDT (History)
7 users (show)

See Also:


Attachments
Sample HTML page showing how to get AudioContext to change (799 bytes, text/html)
2018-04-18 06:37 PDT, Mike Block
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Tom Hartnett 2018-03-29 11:55:01 PDT
For users who would prefer to use the handset earpiece in an audio-only WebRTC call, this isn't possible because mediaDevices.enumerateDevices() doesn't return any audio output options in iOS. Verified this is still the case in 11.3
Comment 1 Radar WebKit Bug Importer 2018-03-31 23:03:46 PDT
<rdar://problem/39081303>
Comment 2 Mike Block 2018-04-18 06:37:49 PDT
Created attachment 338212 [details]
Sample HTML page showing how to get AudioContext to change

Second for that.

I notice that the AudioContext in Safari automatically switches to VideoConference mode, changing the sound quality out of the device speaker to voice optimized and randomly flipping any other media audio through the earpiece and back to the speaker.

While I understand the change in AudioContext, I would at least like to be able to have ALL audio, both WebRTC remote streams and loaded media play through the same output and be able to keep it outputting to the same device.

I've attached a test page which reproduces what I am saying.

Start playing the video, then while it is playing, click the <Start gUM> button to see the change in audio context. This test doesn't show the change between earpiece and speaker, but I find when I attach a remote stream, it moves loaded media to the earpiece and the remote user's audio to the speaker. After I remove their stream, it stays in the earpiece until I pause and restart playback, then the local media starts playing through the speaker again.