audioInputsChanged: async()

in chime-sdk-components/react-meeting-demo/src/providers/DevicesProvider/AudioInputProvider.tsx [63:91]


      audioInputsChanged: async (newAudioInputs: MediaDeviceInfo[]) => {
        console.log('AudioInputProvider - audio inputs updated');

        const hasSelectedDevice = newAudioInputs.some(
          (device) => device.deviceId === selectedInputRef.current
        );

        if (
          selectedInputRef.current &&
          !hasSelectedDevice &&
          newAudioInputs.length
        ) {
          console.log(
            'Previously selected audio input lost. Selecting a default device.'
          );
          meetingManager.selectAudioInputDevice(newAudioInputs[0].deviceId);
        } else if (selectedInputRef.current === 'default') {
          console.log(
            `Audio devices updated and "default" device is selected. Reselecting input.`
          );
          try {
            await audioVideo?.chooseAudioInputDevice(selectedInputRef.current);
          } catch (e) {
            console.error(`Error in selecting audio input device - ${e}`);
          }
        }

        setAudioInputs(newAudioInputs);
      },