RESOLVED INVALID 264473
No sound from HTMLAudioElement when navigator.audioSession.type is set to "transient" or "transient-solo"
https://bugs.webkit.org/show_bug.cgi?id=264473
Summary No sound from HTMLAudioElement when navigator.audioSession.type is set to "tr...
Danny Moerkerke
Reported 2023-11-09 03:24:44 PST
In Safari 17 on iOS 17 when an HTMLAudioElement is playing audio and navigator.audioSession.type is set to "transient" or "transient-solo" the audio continues playing but there is no sound anymore. When audio is played by another app, for example Music, the audio from that app is paused, regardless to what navigator.audioSession.type is set to. The Feature Flags AudioSession API and AudioSession full API are both on.
Attachments
Radar WebKit Bug Importer
Comment 1 2023-11-16 03:25:20 PST
youenn fablet
Comment 2 2024-03-09 00:04:18 PST
I had a try on iOS 17.4 and it seems to work as expected, using https://jsfiddle.net/e9ahcb35/. Setting "transient" triggers using https://developer.apple.com/documentation/avfaudio/avaudiosession/category/1616560-ambient. If the silent switch is on, video is muted, otherwise it is not. Maybe that is what you experienced? As of mixing with other apps, I tried the following: 1. Launch music app 2. Open https://jsfiddle.net/e9ahcb35/ and play. I can hear both audio in that case. If the page is backgrounded, audio is stopped, which seems expected as well. Marking as Invalid although it should really be "Behave as expected". @Danny, feel free to reopen the bug especially if there is a particular point I missed.
Danny Moerkerke
Comment 3 2024-03-10 13:46:26 PDT
(In reply to youenn fablet from comment #2) > I had a try on iOS 17.4 and it seems to work as expected, using > https://jsfiddle.net/e9ahcb35/. > > Setting "transient" triggers using > https://developer.apple.com/documentation/avfaudio/avaudiosession/category/ > 1616560-ambient. > > If the silent switch is on, video is muted, otherwise it is not. > Maybe that is what you experienced? > > As of mixing with other apps, I tried the following: > 1. Launch music app > 2. Open https://jsfiddle.net/e9ahcb35/ and play. > I can hear both audio in that case. > > If the page is backgrounded, audio is stopped, which seems expected as well. > > Marking as Invalid although it should really be "Behave as expected". > > @Danny, feel free to reopen the bug especially if there is a particular > point I missed. Thanks, when the options "transient" and "transient-solo" are selected, the audio from the web app is now mixed with the audio coming from the Music App on iOS, but on MacOS Sonoma 14.4 the audio from the web app is always mixed with the audio from other apps, regardless to what navigator.audioSession.type is set to. When navigator.audioSession.type is set to "play-and-record" on iOS 17.4 it still pauses the audio from other apps when the mic is accessed from the web app with navigator.mediaDevices.getUserMedia.
Danny Moerkerke
Comment 4 2024-09-17 05:19:10 PDT
On iOS 18 when "transient" is selected, the audio plays but without sound. On macOS Sequoia 15, there is sound when "transient" is selected and sound from the web app is always mixed with sound from other apps, regardless of the setting of navigator.audioSession.type. To reproduce: 1. go to https://whatpwacando.today/audiosession on iOS 18 2. select "transient" and play the audio 3. no sound will be heard 1. go to https://whatpwacando.today/audiosession on macOS Sequoia 15 2. play audio from the app 3. play audio from another app 4. sound from both apps is always mixed, regardless of the setting of navigator.audioSession.type or which audio is started first
Note You need to log in before you can comment on or make changes to this bug.