AudioListener камеры отключен, но звуки все-равно слышно на android
В игре чтобы отключить звук я просто отключал на камере компонент AudioListener. И звук действительно отключался при запуске в юнити-редакторе. Но при установке apk файла звук сохраняется (картинка кнопки меняется, а значит тап срабатывает). Есть ли отличие в обработке звука на андроиде? Далее код кнопки отключения звука:
public void MusicOnOff()
{
if (PlayerPrefs.GetString("music") == "off")
{
PlayerPrefs.SetString("music", "on");
GetComponent<Image>().sprite = MusicOn;
Camera.main.gameObject.GetComponent<AudioListener>().enabled = true;
} else
{
PlayerPrefs.SetString("music", "off");
GetComponent<Image>().sprite = MusicOff;
Camera.main.gameObject.GetComponent<AudioListener>().enabled = false;
}
GetComponent<AudioSource>().Play();
}
Ответы (1 шт):
Ввиду того, что моя подсказка в комментариях помогла Виталию, дам полноценный ответ.
Компонент AudioListener имеет параметры float volume (громкость) и bool pause (пауза).
Перейдя по ссылкам можно увидеть, что они статические, что говорит о том, что их нельзя изменять через GetComponent<AudioListener>().volume или GetComponent<AudioListener>().pause. Их можно настраивать только так:
AudioListener.volume = ...;
AudioListener.pause = ...;
На сцене может быть несколько камер, но документация говорит: В каждой сцене может быть только один Audio Listener для корректной работы системы.