VolumeSettings.cs 626 B

123456789101112131415161718192021222324
  1. using UnityEngine;
  2. using UnityEngine.Audio;
  3. using UnityEngine.UI;
  4. public class VolumeSettings : MonoBehaviour
  5. {
  6. [SerializeField] AudioMixer audioMixer;
  7. [SerializeField] Slider volumeSlider;
  8. private void Start()
  9. {
  10. float savedValue = PlayerPrefs.GetFloat("MusicVolume", 0.75f);
  11. volumeSlider.value = savedValue;
  12. SetVolume(savedValue);
  13. }
  14. public void SetVolume(float sliderValue)
  15. {
  16. float volume = Mathf.Log10(Mathf.Max(0.0001f, sliderValue)) * 20f;
  17. audioMixer.SetFloat("MasterVolume", volume);
  18. PlayerPrefs.SetFloat("MusicVolume", sliderValue);
  19. }
  20. }