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
|
|
|
|
}
|