/// <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; }
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(); } }
// 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); }