using GFramework.Core.system; using Godot; namespace GFramework.Godot.system; /// /// 音频管理器系统接口,用于统一管理背景音乐和音效的播放 /// public interface IAudioManagerSystem : ISystem { /// /// 播放背景音乐 /// /// 音频文件路径 /// 音量大小,范围0-1 /// 是否循环播放 void PlayMusic(string audioPath, float volume = 1.0f, bool loop = true); /// /// 播放音效 /// /// 音频文件路径 /// 音量大小,范围0-1 /// 音调调整 void PlaySound(string audioPath, float volume = 1.0f, float pitch = 1.0f); /// /// 播放特效音效 /// /// 音频文件路径 /// 音量大小,范围0-1 /// 音调调整 void PlaySfx(string audioPath, float volume = 1.0f, float pitch = 1.0f); /// /// 播放语音 /// /// 音频文件路径 /// 音量大小,范围0-1 /// 音调调整 void PlayVoice(string audioPath, float volume = 1.0f, float pitch = 1.0f); /// /// 播放环境音效 /// /// 音频文件路径 /// 音量大小,范围0-1 /// 音调调整 void PlayAmbient(string audioPath, float volume = 1.0f, float pitch = 1.0f); /// /// 停止背景音乐 /// void StopMusic(); /// /// 暂停背景音乐 /// void PauseMusic(); /// /// 恢复背景音乐播放 /// void ResumeMusic(); /// /// 设置背景音乐音量 /// /// 音量大小,范围0-1 void SetMusicVolume(float volume); /// /// 获取背景音乐音量 /// /// 音量大小,范围0-1 float GetMusicVolume(); /// /// 设置音效音量 /// /// 音量大小,范围0-1 void SetSoundVolume(float volume); /// /// 获取音效音量 /// /// 音量大小,范围0-1 float GetSoundVolume(); /// /// 设置特效音量 /// /// 音量大小,范围0-1 void SetSfxVolume(float volume); /// /// 获取特效音量 /// /// 音量大小,范围0-1 float GetSfxVolume(); /// /// 设置语音音量 /// /// 音量大小,范围0-1 void SetVoiceVolume(float volume); /// /// 获取语音音量 /// /// 音量大小,范围0-1 float GetVoiceVolume(); /// /// 设置环境音量 /// /// 音量大小,范围0-1 void SetAmbientVolume(float volume); /// /// 获取环境音量 /// /// 音量大小,范围0-1 float GetAmbientVolume(); /// /// 设置主音量 /// /// 音量大小,范围0-1 void SetMasterVolume(float volume); /// /// 获取主音量 /// /// 音量大小,范围0-1 float GetMasterVolume(); /// /// 检查背景音乐是否正在播放 /// /// 正在播放返回true,否则返回false bool IsMusicPlaying(); /// /// 淡入背景音乐 /// /// 音频文件路径 /// 淡入持续时间(秒) /// 目标音量 void FadeInMusic(string audioPath, float duration, float volume = 1.0f); /// /// 淡出背景音乐 /// /// 淡出持续时间(秒) void FadeOutMusic(float duration); /// /// 播放3D音效 /// /// 音频文件路径 /// 3D空间中的位置 /// 音量大小,范围0-1 void PlaySound3D(string audioPath, Vector3 position, float volume = 1.0f); /// /// 设置低通滤波器强度 /// /// 滤波器强度,范围0-1 void SetLowPassFilter(float amount); /// /// 设置音频混响效果 /// /// 房间大小 /// 阻尼 /// 湿声级别 void SetReverb(float roomSize, float damping, float wetLevel); }