Esempio n. 1
0
        public void PlayMusic(string strMusic, float fDelay = 0.0f)
        {
            if (m_strMusic == strMusic)
            {
                return;
            }

            CheckAduioListener();

            GameObject cam = FindMainCamera();

            if (cam == null)
            {
                return;
            }

            if (m_musicSource != null)
            {
                m_musicSource.Release();
                m_musicSource = null;
            }

            m_musicSource = AssetManager.Instance().CreateAudio(strMusic, cam.transform, null);

            if (m_musicSource == null)
            {
                return;
            }

            AudioSource source = m_musicSource.GetSource();

            if (source != null)
            {
                source.priority    = 10; // 背景音乐优先级较高
                source.loop        = true;
                source.volume      = m_fMusicVolume;
                source.playOnAwake = false;
                //source.mute = m_bMute;
                source.mute = mm_bMute;
                source.PlayDelayed(fDelay);
            }
        }
Esempio n. 2
0
        public void StopEffect(uint uid)
        {
            Dictionary <uint, IAudioSource> .Enumerator iter = m_fxAudio.GetEnumerator();
            IAudioSource ae = null;

            if (m_fxAudio.TryGetValue(uid, out ae))
            {
                if (ae.isPlaying)
                {
                    ae.Stop();
                    ae.Release();
                    m_fxAudio.Remove(uid);
                }
            }
        }