Skip to contentSkip to navigationSkip to topbar
On this page

Voice JS SDK v1: AudioOutputCollection


(warning)

Warning

You're viewing the 1.X version of the Voice JavaScript SDK (formerly called Twilio Client). Click here for information on how to migrate to the 2.X version.

Both speakerDevices and ringtoneDevices properties of Twilio.Device.audio are instances of AudioOutputCollection . These AudioOutputCollections represent active audio devices, and can be updated to redirect speaker and ringtone sounds to different devices in realtime.


Method Reference

method-reference page anchor

The following is a list of methods available on AudioOutputCollection instances:

audioOutputCollection.get()

audiooutputcollectionget page anchor

Get a Set containing MediaDeviceInfo objects representing the active devices in the collection.

audioOutputCollection.set( deviceId | deviceIds )

audiooutputcollectionset-deviceid--deviceids- page anchor

Replace the active devices in the collection by passing one or more device IDs. Returns a Promise, which is fulfilled if the device(s) were set successfully and rejected if:

  • Output selection is not supported by the browser or
  • A specified deviceId wasn't found or
  • No deviceIds were specified

audioOutputCollection.test( soundUrl )

audiooutputcollectiontest-soundurl- page anchor

Test the active devices by playing a sound through them. Optionally, a URL can be passed to play a custom test sound. Returns a Promise, which is fulfilled if the devices were set successfully and rejected if:

  • Output selection is not supported by the browser or
  • There are no active devices or
  • Client detects one or more devices failed to play

Audio selection requires the setSinkId(link takes you to an external page) functionality which, at the time of writing, is only supported in Chrome 49.0 and above; as Firefox and Edge add support for these APIs, twilio.js will be able to automatically make use of them.

If unsupported, the get method will return an empty Set , whereas the set and test methods will return a rejected Promise.

Need some help?

Terms of service

Copyright © 2024 Twilio Inc.