当我按下ESC画布时,我有一个带有音乐和一些按钮的soundfx的暂停菜单画布,游戏对象变为活动状态,并将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;
我试图向新画布添加另一个音频侦听器,但它也无法正常工作。
答案 0 :(得分:1)
我用该代码固定了解决方案;
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();