Files
XCEngine/docs/api/audio/reverbation/reverbation.md
ssdfasd fae7362e9f docs: 更新 audio 和 resources 模块文档
- audio: 更新 audio-mixer, equalizer, fft-filter, hrtf, reverbation 方法文档
- resources: 更新资源管理文档
- debug: 新增 renderdoc-capture 文档
2026-03-26 01:52:36 +08:00

54 lines
1.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Reverbation
**命名空间**: `XCEngine::Audio`
**类型**: `class`
**头文件**: `XCEngine/Audio/Reverbation.h`
**描述**: 混响效果器,基于 Schroeder 算法实现。
## 概述
Reverbation 是 Schroeder 算法的并行 Comb 滤波器 + AllPass 滤波器混响实现。它模拟真实环境中声音的早期反射和后期混响支持调节房间大小RoomSize、阻尼Damping、干湿信号混合比等参数适用于游戏场景中的环境混响效果。
## 公共方法
| 方法 | 描述 |
|------|------|
| `ProcessAudio` | 处理混响音频 |
| `SetRoomSize` | 设置房间大小 |
| `GetRoomSize` | 获取房间大小 |
| `SetDamping` | 设置阻尼 |
| `GetDamping` | 获取阻尼 |
| `SetWetMix` | 设置湿信号混合比例 |
| `GetWetMix` | 获取湿信号混合比例 |
| `SetDryMix` | 设置干信号混合比例 |
| `GetDryMix` | 获取干信号混合比例 |
| `SetWidth` | 设置声场宽度 |
| `GetWidth` | 获取声场宽度 |
| `SetFreeze` | 设置冻结模式 |
| `IsFreeze` | 检查冻结状态 |
## 使用示例
```cpp
#include <XCEngine/Audio/Reverbation.h>
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) - 音频效果接口