The Vivox SDK automatically uses the system default audio input and output devices. If the active input/output device is set to either Default Communication Device or Default System Device, the effective device used automatically changes as the default audio device changes in the system, for example, when adding or removing devices. If there is no device connected to the system, then the default audio device name and ID are shown as “No Device.”
For more information on in-game audio device selection, see the following resources:
By default in the Vivox SDK, render and capture devices are set to the Default System Device. However, you can override this behavior and provide users with a choice of which audio device to use for group voice chat. Among the available capture/render devices that the Vivox SDK returns, you’ll find “Default Communication Device” and “Default System Device.” The following sections detail how these devices are chosen on specific platforms.
Windows
In the Vivox SDK, you can choose to use the Default Communication Device or Default System Device as the active render or capture devices. After the initialization of the Vivox service is complete, the Default Communication Device is automatically set to the device that you designated as your “Default Communications Device” in your Windows OS settings from the “Sound” Control Panel: the device selected in the Playback tab is the output device, and the device selected for Recording is the capture device. If there isn’t a “Default Communications Device” set in Windows, then Default Communication Device is set to the Windows OS “Default Device.” The Default System Device in the Vivox SDK is automatically set to the “Default Device” input and output device of your Windows system. For reference, see the attached screenshot of the “Sound” Control Panel. If you set your active device to the Default System Device, then your effective device updates automatically as your Windows system audio device changes.
PlayStation 5
We use the Sony PS5 SDK method sceUserServiceGetLoginUserIdList()
to obtain the user ID list of the signed-in PS5 users. The capture and render devices that both Default Communication Device and Default System Device return should match the devices that are assigned by the OS to the first user ID (index 0 of the array) in the returned SceUserServiceLoginUserIdList
. The Vivox SDK listens to operating system events to determine when a PS5 user’s assigned audio device changes, for example, when the user selects a different device in the “Sound” settings menu, or when an audio device is attached or removed. This triggers the appropriate Vivox SDK IAudioDevices events to indicate that a device was added or removed, or that the effective audio device used by Vivox has changed.
For information on when these events occur, see “AudioIn Library Overview” in the Sony DevNet PS5 documentation, which details how attached audio devices are prioritized for assignment to a user, and when device switching occurs.
Xbox Series X|S
In the Vivox SDK, Default System Device and Default Communication Device are automatically initialized to the default audio input and output devices. When a user is signed in and has an input device connected, the default communication and system device are set to that device. On Xbox Series X|S, the default communication and system device is retrieved by using the Microsoft API XUserGetDefaultAudioEndpointUtf16()
. For more Xbox-specific information on audio endpoints, see Device Pairing and Device IDs (requires Xbox developer access).