381718a353
When going from "no mic" -> mic via the unmute action, the client isn't unmuting itself after confirming the change. This is caused by not waiting the liveChangeInputDevice method (which is a Promise) to be fully executed before unmounting the AudioSettings modal -- the one responsible for triggering the unmute. Since it unmounts before the device is changed, the unmute action will be ignored because the device is still "listen-only" (no mic). Properly unmute audio when transitioning from "no mic" -> "mic" via the unmute trigger by waiting for liveChangeInputDevice to resolve. Additionally, some general improvements to UI/UX: - Display the AudioSettings modal title when gUM is on prompt mode - Add specific subtitles to the AudioSettings modal to 1) warn that no mic is selected 2) Give a hint that the user can test their devices - Always honor settings.yml's "initialHearingState" state (whether local echo feedback should be played by default in AudioSettings)
24 lines
794 B
JavaScript
24 lines
794 B
JavaScript
import React from 'react';
|
|
import LocalEchoService from '/imports/ui/components/audio/local-echo/service';
|
|
import LocalEcho from '/imports/ui/components/audio/local-echo/component';
|
|
|
|
const LocalEchoContainer = (props) => {
|
|
const {
|
|
initialHearingState: settingsHearingState,
|
|
} = window.meetingClientSettings.public.media.localEchoTest;
|
|
const initialHearingState = settingsHearingState;
|
|
|
|
return (
|
|
<LocalEcho
|
|
{...props}
|
|
initialHearingState={initialHearingState}
|
|
playEchoStream={LocalEchoService.playEchoStream}
|
|
deattachEchoStream={LocalEchoService.deattachEchoStream}
|
|
shouldUseRTCLoopback={LocalEchoService.shouldUseRTCLoopback}
|
|
createAudioRTCLoopback={LocalEchoService.createAudioRTCLoopback}
|
|
/>
|
|
);
|
|
};
|
|
|
|
export default LocalEchoContainer;
|