Пример #1
0
        // 播放音效
        public uint PlayEffect(GameObject obj, string strEffect, bool bLoop = false)
        {
            if (obj == null)
            {
                return(0);
            }
            CheckAduioListener();


            IAudioSource isource = AssetManager.Instance().CreateAudio(strEffect, obj.transform, null);
            AudioSource  source  = isource.GetSource();

            if (source == null)
            {
                return(0);
            }
            source.loop   = bLoop;
            source.volume = m_fEffectVolume;
            //source.mute = m_bMute;
            source.mute         = me_bMute;
            source.spatialBlend = 0.0f;
            source.Play();

            ++m_uIDSeed;
            m_fxAudio.Add(m_uIDSeed, isource);

            return(m_uIDSeed);
        }
Пример #2
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);
            }
        }