190 lines
4.6 KiB
C#
190 lines
4.6 KiB
C#
/// <summary>
|
|
/// 音频系统常量定义
|
|
/// </summary>
|
|
public static class AudioConstant
|
|
{
|
|
#region Playback Limits
|
|
|
|
/// <summary>
|
|
/// 最大音乐播放数
|
|
/// </summary>
|
|
public const int MaxMusicCount = 1;
|
|
|
|
/// <summary>
|
|
/// 最大音效播放数
|
|
/// </summary>
|
|
public const int MaxSoundCount = 100;
|
|
|
|
/// <summary>
|
|
/// 最大语音播放数
|
|
/// </summary>
|
|
public const int MaxSpeakCount = 1;
|
|
|
|
/// <summary>
|
|
/// 音乐播放池上限
|
|
/// </summary>
|
|
public const int MusicPlayingLimit = 1;
|
|
|
|
/// <summary>
|
|
/// 音效播放池上限
|
|
/// </summary>
|
|
public const int SoundPlayingLimit = 16;
|
|
|
|
/// <summary>
|
|
/// 语音播放池上限
|
|
/// </summary>
|
|
public const int SpeakPlayingLimit = 8;
|
|
|
|
#endregion
|
|
|
|
#region Priority Values
|
|
|
|
/// <summary>
|
|
/// 最高优先级
|
|
/// </summary>
|
|
public const int MaxPriority = 99;
|
|
|
|
/// <summary>
|
|
/// 最低优先级
|
|
/// </summary>
|
|
public const int MinPriority = 0;
|
|
|
|
/// <summary>
|
|
/// 默认优先级
|
|
/// </summary>
|
|
public const int DefaultPriority = 29;
|
|
|
|
/// <summary>
|
|
/// 低优先级
|
|
/// </summary>
|
|
public const int LowPriority = 30;
|
|
|
|
#endregion
|
|
|
|
#region Fade Duration
|
|
|
|
/// <summary>
|
|
/// 默认淡入时长(秒)
|
|
/// </summary>
|
|
public const float DefaultFadeInDuration = 2f;
|
|
|
|
/// <summary>
|
|
/// 默认淡出时长(秒)
|
|
/// </summary>
|
|
public const float DefaultFadeOutDuration = 2f;
|
|
|
|
#endregion
|
|
|
|
#region Stopped Pool Limits
|
|
|
|
/// <summary>
|
|
/// 音乐停止池上限
|
|
/// </summary>
|
|
public const int MusicStoppedLimit = 0;
|
|
|
|
/// <summary>
|
|
/// 音效停止池上限
|
|
/// </summary>
|
|
public const int SoundStoppedLimit = 16;
|
|
|
|
/// <summary>
|
|
/// 语音停止池上限
|
|
/// </summary>
|
|
public const int SpeakStoppedLimit = 1;
|
|
|
|
#endregion
|
|
|
|
#region Stopped Pool Timeout
|
|
|
|
/// <summary>
|
|
/// 音乐停止池超时时间(秒)- 长时间未使用则释放
|
|
/// </summary>
|
|
public const float MusicStoppedTimeout = 60f;
|
|
|
|
/// <summary>
|
|
/// 音效停止池超时时间(秒)- 长时间未使用则释放
|
|
/// </summary>
|
|
public const float SoundStoppedTimeout = 30f;
|
|
|
|
/// <summary>
|
|
/// 语音停止池超时时间(秒)- 长时间未使用则释放
|
|
/// </summary>
|
|
public const float SpeakStoppedTimeout = 20f;
|
|
|
|
/// <summary>
|
|
/// 停止池超时检查间隔(秒)- 降低检查频率
|
|
/// </summary>
|
|
public const float StoppedPoolCheckInterval = 1f;
|
|
|
|
#endregion
|
|
}
|
|
|
|
/// <summary>
|
|
/// 音频池容量配置
|
|
/// <para>用于配置播放池和停止池的容量上限</para>
|
|
/// </summary>
|
|
public struct AudioPoolConfig
|
|
{
|
|
/// <summary>
|
|
/// 音乐播放池上限
|
|
/// </summary>
|
|
public int MusicPlayingLimit;
|
|
|
|
/// <summary>
|
|
/// 音效播放池上限
|
|
/// </summary>
|
|
public int SoundPlayingLimit;
|
|
|
|
/// <summary>
|
|
/// 语音播放池上限
|
|
/// </summary>
|
|
public int SpeakPlayingLimit;
|
|
|
|
/// <summary>
|
|
/// 音乐停止池上限
|
|
/// </summary>
|
|
public int MusicStoppedLimit;
|
|
|
|
/// <summary>
|
|
/// 音效停止池上限
|
|
/// </summary>
|
|
public int SoundStoppedLimit;
|
|
|
|
/// <summary>
|
|
/// 语音停止池上限
|
|
/// </summary>
|
|
public int SpeakStoppedLimit;
|
|
|
|
/// <summary>
|
|
/// 音乐停止池超时时间(秒)- 长时间未使用则释放
|
|
/// </summary>
|
|
public float MusicStoppedTimeout;
|
|
|
|
/// <summary>
|
|
/// 音效停止池超时时间(秒)- 长时间未使用则释放
|
|
/// </summary>
|
|
public float SoundStoppedTimeout;
|
|
|
|
/// <summary>
|
|
/// 语音停止池超时时间(秒)- 长时间未使用则释放
|
|
/// </summary>
|
|
public float SpeakStoppedTimeout;
|
|
|
|
/// <summary>
|
|
/// 默认配置
|
|
/// </summary>
|
|
public static AudioPoolConfig Default => new AudioPoolConfig
|
|
{
|
|
MusicPlayingLimit = AudioConstant.MusicPlayingLimit,
|
|
SoundPlayingLimit = AudioConstant.SoundPlayingLimit,
|
|
SpeakPlayingLimit = AudioConstant.SpeakPlayingLimit,
|
|
MusicStoppedLimit = AudioConstant.MusicStoppedLimit,
|
|
SoundStoppedLimit = AudioConstant.SoundStoppedLimit,
|
|
SpeakStoppedLimit = AudioConstant.SpeakStoppedLimit,
|
|
MusicStoppedTimeout = AudioConstant.MusicStoppedTimeout,
|
|
SoundStoppedTimeout = AudioConstant.SoundStoppedTimeout,
|
|
SpeakStoppedTimeout = AudioConstant.SpeakStoppedTimeout,
|
|
};
|
|
}
|
|
|