Allow players to select audio input and output devices.
읽는 시간 1분최근 업데이트: 19일 전
The Vivox SDK automatically uses the default system audio input and output devices.Changes to available audio devices are performed through system events. When a new device or a new user with a new device is detected, or the currently active device is removed, configure your application to perform the following actions:
Determine if the new device requires a change to either the active capture or render device.
If a change is required, change the capture or render device.
To provide users with a choice of which audio device to use for group voice chat independent of the audio devices that are used for a game, build a user interface that displays a list of available devices to users that they can select a device from. Use the following requests for this user interface, where audio output devices are called render devices, and audio input devices are called capture devices:
vx_req_aux_get_render_devices
vx_req_aux_get_capture_devices
vx_req_aux_set_render_device
vx_req_aux_set_capture_device
Each of the
vx_resp_aux_get_*_devices
responses include OS default devices, a list of devices that are available for selection with a
vx_req_aux_set_*_device
request, the current device selection, and the effective device in use. The
current_*_device
is the
vx_device_t
entry as it appears in the list of available devices. In the scenario where the current device is a representative audio device that serves as a reference to some other device (for example, Default System Device),
effective_*_device
is set to the real device in use. The current and effective devices match if a specific, discrete audio device is set.If either the capture or render device is set to Default System Device, when a compatible audio device is plugged in or the existing in-use audio device is unplugged, audio automatically switches to the other device, and the application is notified with an
evt_audio_device_hot_swap
message. Use this message to provide a visual cue to the user that they are now using a different audio device.For example, if a user is using a speaker device for audio and a headset is plugged in, set the current Vivox capture and render devices to the headset by using
vx_req_aux_set_capture_device
and
vx_req_aux_set_render_device
. If there is no capture device to fall back to, but there is a render device (for example, HDMI output), set the capture device to No Device.