# Reverbation **命名空间**: `XCEngine::Audio` **类型**: `class` **头文件**: `XCEngine/Audio/Reverbation.h` **描述**: 混响效果器,基于 Schroeder 算法实现。 ## 概述 Reverbation 是 Schroeder 算法的并行 Comb 滤波器 + AllPass 滤波器混响实现。它模拟真实环境中声音的早期反射和后期混响,支持调节房间大小(RoomSize)、阻尼(Damping)、干湿信号混合比等参数,适用于游戏场景中的环境混响效果。 ## 公共方法 | 方法 | 描述 | |------|------| | [`Reverbation`](constructor.md) | 构造函数 | | [`~Reverbation`](destructor.md) | 析构函数 | | [`ProcessAudio`](process-audio.md) | 处理混响音频 | | [`SetRoomSize`](set-room-size.md) | 设置房间大小 | | [`GetRoomSize`](get-room-size.md) | 获取房间大小 | | [`SetDamping`](set-damping.md) | 设置阻尼 | | [`GetDamping`](get-damping.md) | 获取阻尼 | | [`SetWetMix`](set-wet-mix.md) | 设置湿信号混合比例 | | [`GetWetMix`](get-wet-mix.md) | 获取湿信号混合比例 | | [`SetDryMix`](set-dry-mix.md) | 设置干信号混合比例 | | [`GetDryMix`](get-dry-mix.md) | 获取干信号混合比例 | | [`SetWidth`](set-width.md) | 设置声场宽度 | | [`GetWidth`](get-width.md) | 获取声场宽度 | | [`SetFreeze`](set-freeze.md) | 设置冻结模式 | | [`IsFreeze`](is-freeze.md) | 检查冻结状态 | ## 使用示例 ```cpp #include using namespace XCEngine::Audio; void SetupReverb() { Reverbation* reverb = new Reverbation(); reverb->SetRoomSize(0.5f); reverb->SetDamping(0.5f); reverb->SetWetMix(0.3f); reverb->SetDryMix(0.7f); reverb->SetWidth(1.0f); } ``` ## 相关文档 - [Audio 模块总览](../audio.md) - Audio 模块总览 - [IAudioEffect](../i-audio-effect/i-audio-effect.md) - 音频效果接口