public void SetupSourceProxy(GameObject sourceGO) { if (!sourceGO) { sourceGO = new GameObject("musicPlaylistSource"); DontDestroyOnLoad(sourceGO); } var audioSrc = Util.GetOrAddComponent <AudioSource>(sourceGO); audioSrc.outputAudioMixerGroup = audioMixer; audioSrc.playOnAwake = false; mSourceProxy = Util.GetOrAddComponent <AudioSourceProxy>(sourceGO); mSourceProxy.settingsSource = AudioSourceProxy.VolumeSourceType.Music; mSourceProxy.audioSource = audioSrc; mSourceProxy.muteOnFocusLost = muteOnFocusLost; }
/// <summary> /// Call this with the source returned by Play, normally use this for looping clips /// </summary> public void Stop(AudioSourceProxy src) { src.Stop(); Cache(src); }