Files
plugin-library/Assets/04.AudioCore/RunTime/AudioCoreManager.cs

93 lines
2.4 KiB
C#
Raw Normal View History

2025-03-06 17:24:31 +08:00
using UnityEngine;
using System.Collections.Generic;
2025-03-26 09:34:52 +08:00
namespace AudioCore
2025-03-06 17:24:31 +08:00
{
2025-03-26 09:34:52 +08:00
public static class AudioCoreManager
2025-03-06 17:24:31 +08:00
{
2025-03-26 09:34:52 +08:00
private static AudioSourcePool audioSourcePool;
private static VoicePlayer Voice;
private static SFXPlayer SFX;
private static MusicPlayer Music;
2025-03-06 17:24:31 +08:00
2025-03-26 09:34:52 +08:00
static AudioCoreManager()
{
audioSourcePool = new AudioSourcePool();
// <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Voice = new VoicePlayer(audioSourcePool);
SFX = new SFXPlayer(audioSourcePool);
Music = new MusicPlayer(audioSourcePool);
}
2025-03-07 15:21:24 +08:00
2025-03-26 09:34:52 +08:00
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2025-03-06 17:24:31 +08:00
2025-03-26 09:34:52 +08:00
/// <summary>
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// </summary>
/// <param name="audioData">{[clip:<3A><>Ƶ], [volume:<3A><><EFBFBD><EFBFBD>],
/// [onComplete:<3A>ص<EFBFBD><D8B5><EFBFBD>Ϊ], [delayOnCompleteTime:<3A>ӳٻص<D9BB>ִ<EFBFBD>е<EFBFBD>ʱ<EFBFBD><CAB1>]}</param>
public static void PlayVoice(AudioData audioData)
{
Voice.Play(audioData);
}
2025-03-06 17:24:31 +08:00
2025-03-26 09:34:52 +08:00
/// <summary>
/// ֹͣ<CDA3><D6B9>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// </summary>
public static void StopVoice()
{
AudioData audioData = new AudioData();
Voice.Stop(audioData);
}
2025-03-07 15:21:24 +08:00
2025-03-26 09:34:52 +08:00
#endregion
2025-03-07 15:21:24 +08:00
2025-03-26 09:34:52 +08:00
#region <EFBFBD><EFBFBD>Ч
2025-03-06 17:24:31 +08:00
2025-03-26 09:34:52 +08:00
/// <summary>
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч
/// </summary>
/// <param name="audioData">{[clip:<3A><>Ƶ], [volume:<3A><><EFBFBD><EFBFBD>],
/// [onComplete:<3A>ص<EFBFBD><D8B5><EFBFBD>Ϊ], [delayOnCompleteTime:<3A>ӳٻص<D9BB>ִ<EFBFBD>е<EFBFBD>ʱ<EFBFBD><CAB1>]}</param>
public static void PlaySFX(AudioData audioData)
{
SFX.Play(audioData);
}
2025-03-06 17:24:31 +08:00
2025-03-26 09:34:52 +08:00
/// <summary>
/// ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч
/// </summary>
public static void StopAllSFX()
{
AudioData audioData = new AudioData();
SFX.Stop(audioData);
}
2025-03-07 15:21:24 +08:00
2025-03-26 09:34:52 +08:00
#endregion
2025-03-07 15:21:24 +08:00
2025-03-26 09:34:52 +08:00
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// <summary>
/// <20><><EFBFBD>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// </summary>
/// <param name="audioData">{[clip:<3A><>Ƶ], [volume:<3A><><EFBFBD><EFBFBD>], [fadeDuration:<3A><>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>]}</param>
public static void PlayMusic(AudioData audioData)
{
Music.Play(audioData);
}
2025-03-07 15:21:24 +08:00
2025-03-26 09:34:52 +08:00
/// <summary>
/// ֹͣ<CDA3><D6B9><EFBFBD>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// </summary>
/// <param name="fadeDuration"><3E><>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1></param>
public static void StopMusic(float fadeDuration = 1f)
{
AudioData audioData = new AudioData();
audioData.fadeDuration = fadeDuration;
Music.Stop(audioData);
}
2025-03-07 15:21:24 +08:00
2025-03-26 09:34:52 +08:00
#endregion
}
2025-03-06 17:24:31 +08:00
}