示例#1
0
 protected void PauseMusicControl(AudioAsset au, bool isPause, float fadeTime = 0.5f)
 {
     if (isPause)
     {
         //Debug.Log("PauseMusicControl Pause : "+ au.PlayState);
         if (au.PlayState == AudioPlayState.Playing)
         {
             au.SetPlayState(AudioPlayState.Pause);
             //Debug.Log("PauseMusicControl Pause");
             AddFade(au, VolumeFadeType.FadeOut, fadeTime, 0, null, (value) =>
             {
                 //Debug.LogWarning("PauseMusicControl Pause fade CallBack");
                 value.Pause();
             }, null);
         }
     }
     else
     {
         //Debug.Log("PauseMusicControl play : "+ au.PlayState);
         if (au.PlayState == AudioPlayState.Pause)
         {
             au.Play();
             AddFade(au, VolumeFadeType.FadeIn, fadeTime, 0, null, null, null);
         }
     }
 }
示例#2
0
        protected void PlayClip(AudioAsset au, string audioName, bool isLoop = true, float volumeScale = 1, float delay = 0f, float pitch = 1)
        {
            if (!ResourcesConfigManager.GetIsExitRes(audioName))
            {
                Debug.LogError("不存在音频:" + audioName);
                return;
            }
            //if (au.PlayState == AudioPlayState.Playing)
            //    au.Stop();
            UnloadClip(au);
            au.AssetName = audioName;
            AudioClip ac = GetAudioClip(au.AssetName);

            au.audioSource.clip  = ac;
            au.audioSource.loop  = isLoop;
            au.audioSource.pitch = pitch;
            au.VolumeScale       = volumeScale;
            au.Play(delay);
        }
示例#3
0
        protected void PlayMusicControl(AudioAsset au, string audioName, bool isLoop = true, float volumeScale = 1, float delay = 0f, float fadeTime = 0.5f, string flag = "")
        {
            if (au.AssetName == audioName)
            {
                au.audioSource.loop = isLoop;
                if (au.PlayState != AudioPlayState.Playing)
                {
                    AddFade(au, VolumeFadeType.FadeIn, fadeTime, delay, flag, null, null);
                    au.Play();
                }
            }
            else
            {
                if (au.PlayState != AudioPlayState.Playing)
                {
                    fadeTime = fadeTime / 2f;
                }

                AddFade(au, VolumeFadeType.FadeOut2In, fadeTime, delay, flag, null, (value) =>
                {
                    PlayClip(value, audioName, isLoop, volumeScale, delay);
                });
            }
        }