HMSAudioTrackSetting.fromMap constructor
HMSAudioTrackSetting.fromMap(
- Map map
Implementation
factory HMSAudioTrackSetting.fromMap(Map map) {
List<HMSAudioNode> nodeList = [];
List? node = map["audio_source"] ?? null;
HMSAudioMixerSource? audioMixerSource;
if (node != null) {
for (String i in node) {
if (i == "mic_node") {
nodeList.add(HMSMicNode());
} else {
nodeList.add(HMSAudioFilePlayerNode(i));
}
}
audioMixerSource = HMSAudioMixerSource(node: nodeList);
}
HMSAudioMixerSource(node: nodeList);
HMSAudioMode? audioMode;
if ((map.containsKey("audio_mode")) && (map["audio_mode"] != null)) {
audioMode = HMSAudioModeValues.getAudioModeFromName(map["audio_mode"]);
}
HMSAndroidPhoneCallState phoneCallState =
HMSAndroidPhoneCallState.DISABLE_MUTE_ON_VOIP_PHONE_CALL_RING;
if (map.containsKey("phone_call_state")) {
if (map["phone_call_state"] != "DISABLE_MUTE_ON_VOIP_PHONE_CALL_RING") {
phoneCallState =
HMSAndroidPhoneCallState.ENABLE_MUTE_ON_PHONE_CALL_RING;
}
}
bool isNoiseCancellationEnabled = false;
if (map.containsKey("enable_noise_cancellation")) {
isNoiseCancellationEnabled = map["enable_noise_cancellation"];
}
return HMSAudioTrackSetting(
useHardwareAcousticEchoCanceler:
map['user_hardware_acoustic_echo_canceler'] ?? null,
audioSource: audioMixerSource,
trackInitialState: map.containsKey("track_initial_state")
? HMSTrackInitStateValue.getHMSTrackInitStateFromName(
map['track_initial_state'])
: HMSTrackInitState.UNMUTED,
audioMode: audioMode,
phoneCallState: phoneCallState,
enableNoiseCancellation: isNoiseCancellationEnabled);
}