getSpeakerList() returns empty array in Safari/Firefox

Video Web SDK Version 1.2.7

No items in array returned by getSpeakerList() in Safari or Firefox (non Chromium)

Hi all,
We’re building out our Audio and Video settings to allow the user to switch, and using the getSpeakerList() method Zoom Doc

In Chromium Browsers, I see an array of speakers when using this method, and can successfully use that to build a list and let the user switch speakers, however in non-Chromium browsers, this method returns an empty array.
For context, getMicList() is working successfully in our build for Chromium and non Chromium browsers.

My question is, is getSpeakerList() returning empty due to an SDK limitation, or should I expect getSpeakerList() to return items in non-chromium browsers?

Troubleshooting Routes
I have tried bumping our SDK version locally to 1.4.0 in our build. I’ve also spun up the Zoom 1.4.0 Web SDK sample app, and also do not see any items in the array returned for getSpeakerList() .

Hi @tom.roper!

Thank you for sharing this information with us. In order to fully investigate what you’re experiencing, can you please share all the versions of the browsers you tested with?

Another point of clarification; I noticed you used the web SDK sample app, but the documentation shared, as well as where you posted, is for Video SDK. Are you able to reproduce this in the out-of-box video SDK sample app? The link for that process is here.


1 Like

Hey @tom.roper

Thanks for your feedback.

It’s the limitation of the browsers. Firefox and Safari are unable to enumerate the audio output devices by default. Following are the bugs:

Firefox: 1152401 - enumerateDevices() should enumerate audio output devices (feature behind pref)
Safari: 179415 – Get/set audio output devices -- mediaDevices.enumerateDevices() & HTMLMediaElement.setSinkId()


Hi @rehema.zoom !
Sorry yes I meant the Video SDK Sample App (specifically the react build)

I tested on;
Chrome 103.0.5060.134
Firefox 104.0b6 (64-bit)
Safari Tech Preview Release 146 (Safari 15.4, WebKit 17614.


Thanks @vic.yang,

That clears up the questions my team has about this then thank you.
Am I correct in saying that this is something the browsers need to implement for this functionality, rather than Zoom/Video SDK?


Hey @tom.roper

Yes, that’s right.

Firefox has already supported this feature, but it’s required to open it manually, go to “about:config” and set “media.setsinkid.enabled” to true.

Safari hasn’t supported it yet.