/// <summary> /// 释放指定音频类型内存 /// </summary> /// <param name="type">音频类型</param> private void Release(enAudioType type) { // if (m_Coroutine != null) { StopCoroutine(m_Coroutine); m_Coroutine = null; } AudioComponent[] audioComponents = FindObjectsOfType <AudioComponent>(); RefreshAudioClipRef(audioComponents); if ((type & enAudioType.Guild) != 0) { m_Coroutine = StartCoroutine(DelayUnload(audioComponents, "Guide_")); } if ((type & enAudioType.BGM) != 0) { m_Coroutine = StartCoroutine(DelayUnload(audioComponents, "BGM_")); } if ((type & enAudioType.MUS) != 0) { m_Coroutine = StartCoroutine(DelayUnload(audioComponents, "MUS_")); } if ((type & enAudioType.AMB) != 0) { m_Coroutine = StartCoroutine(DelayUnload(audioComponents, "Amb_")); } //默认清掉其他杂的音频 //StartCoroutine(DelayUnload(audioComponents, "SFX_Character_Common", false)); }
/// <summary> /// 初始化 /// </summary> public void F_Start() { m_CheckTime = 15.0f; m_LastCheckTime = Time.time + m_CheckTime; m_ReleaseType = enAudioType.BGM | enAudioType.Guild | enAudioType.MUS | enAudioType.AMB; // DontDestroyOnLoad(this.gameObject); }