如何在统一c#中永远静音当前场景

时间:2016-09-02 08:44:37

标签: c# audio unity3d

打开/关闭静音音量,这是我的功能:

public    void Mm(bool vv)
     {
         if (vv)
         {
             AudioListener.volume = 0;
         }
         else 
         {
             AudioListener.volume = 1;
         }
     }

所有事情都运作良好但问题是:当我静音并去另一个场景时,再次回到此场景时音量不会静音!

1 个答案:

答案 0 :(得分:2)

创建如下所示的SoundManager脚本,并将其放在当前场景中:

public class SoundManager : MonoBehaviour
{
    void OnEnable()
    {
        AudioListener.volume = PlayerPrefs.GetFloat("volume",0);
    }

    void OnDisable()
    {
        AudioListener.volume = 1;
    }

    public void Mute(bool vv)
    {
        if (vv)
        {
            AudioListener.volume = 0;
        }
        else 
        {
            AudioListener.volume = 1;
        }
        PlayerPrefs.SetFloat("volume",AudioListener.volume);
        PlayerPrefs.Save()
    }
}