/// <summary>
 /// 停止播放单通道音效
 /// </summary>
 public void StopSingleSound()
 {
     if (SingleAudio.isPlaying)
     {
         SingleAudio.Stop();
     }
 }
 /// <summary>
 /// 恢复播放单通道音效
 /// </summary>
 /// <param name="isGradual">是否渐进式</param>
 public void UnPauseSingleSound(bool isGradual = true)
 {
     if (isGradual)
     {
         SingleAudio.volume = 0;
         SingleAudio.UnPause();
         SingleAudio.DOFade(SingleVolume, 2);
     }
     else
     {
         SingleAudio.UnPause();
     }
 }
        /// <summary>
        /// 播放单通道音效
        /// </summary>
        /// <param name="clip">音乐剪辑</param>
        /// <param name="isLoop">是否循环</param>
        /// <param name="speed">播放速度</param>
        public void PlaySingleSound(AudioClip clip, bool isLoop = false, float speed = 1)
        {
            if (SingleAudio.isPlaying)
            {
                SingleAudio.Stop();
            }

            SingleAudio.clip  = clip;
            SingleAudio.loop  = isLoop;
            SingleAudio.pitch = speed;
            SingleAudio.Play();
            SingleSoundPlayDetector = true;
        }
Exemple #4
0
    public IEnumerator Fade_From0To1_FadeIn()
    {
        SingleAudio audio = new SingleAudio("Warning").SetLoop(-1);

        audio.Play();

        audio.Fade(0, 1, 2);

        Assert.AreEqual(0, audio.AudioPlayer.MainSource.volume.Sgn());

        yield return(new WaitForSeconds(2));

        Assert.AreEqual(0, (audio.AudioPlayer.MainSource.volume - 1).Sgn());
    }
 /// <summary>
 /// 暂停播放单通道音效
 /// </summary>
 /// <param name="isGradual">是否渐进式</param>
 public void PauseSingleSound(bool isGradual = true)
 {
     if (isGradual)
     {
         SingleAudio.DOFade(0, 2).OnComplete(() =>
         {
             SingleAudio.Pause();
             SingleAudio.volume = SingleVolume;
         });
     }
     else
     {
         SingleAudio.Pause();
     }
 }
Exemple #6
0
    // Use this for initialization
    void Start()
    {
        //SingleAudio sound = new SingleAudio("BunnyHelp", AudioLayer.Dialogue)
        //    .OnComplete(() =>
        //    {
        //        print("wow, completed!");

        //        new SingleAudio("BunnyHelp", AudioLayer.Dialogue)
        //        .OnComplete(() =>
        //        {
        //            print("wow, completed again!");
        //        })
        //        .SetDelay(2)
        //        .SetLoop(3)
        //        .SetForce(false)
        //        .Play();
        //    })
        //    .SetLoop(1);

        //sound.Play();

        //new RandomAudio("Alarm", AudioLayerType.Bgm)
        //    .SetForce(false)
        //    .SetLoop(3)
        //    .OnEveryComplete(() => print("Finish a loop!"))
        //    .OnComplete(() =>
        //    {
        //        print("Complete 3 random loops");
        //    })
        //    .Play();

        //new SingleAudio("Warning")
        //    .OnEveryComplete(() => print("Finish a loop!"))
        //    .OnComplete(() =>
        //    {
        //        print("say hi after complete");
        //    })
        //    .SetLoop(3)
        //    .Play();

        // Test pause
        //BaseAudio audio = new SingleAudio("Voice_Ringing")
        //    .SetDelay(2f)
        //    .OnStart(() => print("Start from delay"));
        //audio.Play();
        //StartCoroutine(Pause(audio));

        // Test Fade
        //BaseAudio fadedAudio = new SingleAudio("Voice_Ringing").SetLoop(-1);
        //fadedAudio.Play();
        ////fadedAudio.Fade(0, 1, 5);
        //StartCoroutine(YoyoFade(fadedAudio));

        //// Layer pool test
        //StartCoroutine(TestPool());

        //// Test Fade
        //BaseAudio crossFadeAudio = new SingleAudio("Voice_Ringing")
        //    .SetLoop(-1);
        //crossFadeAudio.Play();
        //StartCoroutine(CrossFade(crossFadeAudio));

        SingleAudio audio = new SingleAudio("Voice_Ringing").SetVolume(0.92f)
                            .SetLoop(-1);

        audio.Play();
        //.Fade(1, 0, 3);

        AudioManager.Instance.GetLayer(AudioLayerType.Undefined).SerachPlayerWith("Voice_Ringing").SetVolume(0.33f);
        AudioManager.Instance.SearchPlayerAt("Voice_Ringing", AudioLayerType.Undefined).SetVolume(0.34f);
        AudioManager.Instance.SearchPlayer("Voice_Ringing").SetVolume(0.35f);
        audio.SetVolume(0.36f);
        print("Audio volume " + audio.Volume);
    }