Пауза в меню музыки после AudioListener.pause = true; - PullRequest
1 голос
/ 16 мая 2019

У меня есть холст меню паузы с музыкой и несколько кнопок со звуком, когда я нажимаю ESC canvas, игровой объект становится активным, и настройка timescale = 0;и вызов AudioListener.pause = true;чтобы избежать внутриигровых звуков.

Но когда я вызываю AudioListener.pause = true;Музыка меню паузы и soundfx кнопок также не могут воспроизводиться.

Pause = true;

            AudioListener.pause = true;

            transform.GetChild(0).gameObject.SetActive(true);



            Time.timeScale = 0;

            Time.fixedDeltaTime = 0.02F * Time.timeScale;

Я пытался добавить другого слушателя звука на новый холст, но он также не работает.

1 Ответ

1 голос
/ 16 мая 2019

Я исправил решение с этим кодом;

void PauseAllSources()
    {
        AudioSource[] allAudioSources = FindObjectsOfType<AudioSource>();
        foreach(AudioSource a in allAudioSources)
        {
            if (a.isActiveAndEnabled == true)
            {
                if (a.isPlaying) a.Pause();
                else a.UnPause();
            }
        }

    }

Заменил AudioListener.pause = true; на PauseAllSources();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...