Skip to content

Commit 4e16e89

Browse files
Test fixing audio issue on first spawn
1 parent 267e185 commit 4e16e89

File tree

1 file changed

+14
-3
lines changed

1 file changed

+14
-3
lines changed

Explorer/Assets/DCL/Audio/AudioMixerVolumesController.cs

+14-3
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ public class AudioMixerVolumesController
2020
private readonly AudioMixer audioMixer;
2121
private readonly string[] allExposedParams;
2222
private readonly Dictionary<string, float> originalVolumes = new ();
23+
private readonly HashSet<string> mutedGroups = new ();
2324

2425
public AudioMixerVolumesController(AudioMixer audioMixer)
2526
{
@@ -36,8 +37,14 @@ public void MuteGroup(AudioMixerExposedParam groupParam)
3637
if (exposedParam != groupParamString)
3738
continue;
3839

39-
audioMixer.GetFloat(groupParamString, out float originalVolume);
40-
originalVolumes[groupParamString] = originalVolume;
40+
// Only store the original volume if this group hasn't been muted before
41+
if (!mutedGroups.Contains(groupParamString))
42+
{
43+
audioMixer.GetFloat(groupParamString, out float originalVolume);
44+
originalVolumes[groupParamString] = originalVolume;
45+
mutedGroups.Add(groupParamString);
46+
}
47+
4148
audioMixer.SetFloat(groupParamString, MUTE_VALUE);
4249
break;
4350
}
@@ -52,7 +59,11 @@ public void UnmuteGroup(AudioMixerExposedParam groupParam)
5259
if (exposedParam != groupParamString)
5360
continue;
5461

55-
audioMixer.SetFloat(groupParamString, originalVolumes[groupParamString]);
62+
if (mutedGroups.Contains(groupParamString))
63+
{
64+
audioMixer.SetFloat(groupParamString, originalVolumes[groupParamString]);
65+
mutedGroups.Remove(groupParamString);
66+
}
5667
break;
5768
}
5869
}

0 commit comments

Comments
 (0)