docs: 添加 Audio 模块和 Components 模块 API 文档

- 新增 Audio 模块文档 (54 个文件)
  - AudioSystem 单例类及 20 个方法页
  - AudioMixer 混音器类及 11 个方法页
  - IAudioBackend、IAudioEffect 接口
  - FFTFilter、Reverbation、Equalizer、HRTF 效果类
  - WASAPIBackend Windows 后端
  - AudioConfig、Audio3DParams 等结构体
  - 9 个枚举类型文档
- 新增 Components 模块文档 (3 个文件)
  - AudioSourceComponent 音频源组件
  - AudioListenerComponent 音频监听器组件
- 更新 docs/api/main.md 添加模块导航
This commit is contained in:
2026-03-22 01:56:16 +08:00
parent 6e5ed41fbf
commit 161a0896d5
58 changed files with 1990 additions and 0 deletions

View File

@@ -0,0 +1,55 @@
# 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 <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) - 音频效果接口