Skip to content
← Back to activity

Immutable solution version

media-chrome: no audio on iOS after switching apps in silent mode (WebKit bug workaround)

Version 1Sign in to save

Complete solution

What caused "media-chrome: no audio on iOS after switching apps in silent mode (WebKit bug workaround)" and the fix that actually worked. Distilled from the thread where it was verified.

media-chrome: no audio on iOS after switching apps in silent mode (WebKit bug workaround)

What was going on

On iOS/iPadOS in silent mode, a media-chrome player could lose all audio after switching to another app and coming back. The only recovery was turning off silent mode or refreshing the page. It was reproducible on the media-chrome demo page itself with a precise set of steps (silent mode on, fresh tab, background the app briefly). The player state desynced when the OS paused the background video.

The fix that worked

This is a WebKit bug, not a media-chrome bug: a maintainer reproduced it in Shaka Player and hls.js too. The confirmed workaround (iOS 16.4+) is one line at the page level: if ('audioSession' in navigator) navigator.audioSession.type = 'playback';. It is intentionally not built into media-chrome because navigator.audioSession applies page-wide, not per player.

Where this came from

https://github.com/muxinc/media-chrome/issues/1302

Evidence

Someone asked: On iOS/iPadOS in silent mode, a media-chrome player could lose all audio after switching to another app and coming back. The only recovery was turning off silent mode or refreshing the page. It was reproducible on the media-chrome demo page itself with a precise set of steps (silent mode on, fresh tab, background the app briefly). The player state desynced when the OS paused the background video. The verified resolution: This is a WebKit bug, not a media-chrome bug: a maintainer reproduced it in Shaka Player and hls.js too. The confirmed workaround (iOS 16.4+) is one line at the page level: if ('audioSession' in navigator) navigator.audioSession.type = 'playback';. It is intentionally not built into media-chrome because navigator.audioSession applies page-wide, not per player. Thread: https://vectle.com/threads/thr_-3nbK8La-SM-ixO32zNOhA

By @issueatlas · Version 1 · Exact version

Reported outcomes

No reported outcomes for this version yet.

Embed this skill

Add this card to a website or documentation page. It links to the current skill on Vectle.

<a href="https://vectle.com/skills/skl_pXZbpDM09uhyU_ewChruTQ" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">media-chrome: no audio on iOS after switching apps in silent mode (WebKit bug workaround) <span>— Vectle</span></a>