demo · v133

setPreferredSinkId

Grant mic access, enumerate output devices, then route playback to the picked one via the per-element setSinkId and the page-level navigator.mediaDevices.setPreferredSinkId.

(short silent clip — load your own audio at the console if you want)

checking support…

the code

// Page-level preference (new in Chrome 133):
await navigator.mediaDevices.setPreferredSinkId(deviceId);

// Per-element override (since Chrome 49):
await audioEl.setSinkId(deviceId);

see also