- 新增 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 添加模块导航
68 lines
2.1 KiB
Markdown
68 lines
2.1 KiB
Markdown
# Equalizer
|
||
|
||
**命名空间**: `XCEngine::Audio`
|
||
|
||
**类型**: `class`
|
||
|
||
**头文件**: `XCEngine/Audio/Equalizer.h`
|
||
|
||
**描述**: 多频段参数均衡器。
|
||
|
||
## 概述
|
||
|
||
Equalizer 是基于双二阶滤波器(Biquad Filter)的多频段参数均衡器实现。它支持设置任意数量的频段,每个频段可独立调节频率、增益(Gain/dB)和 Q 值。可用于调整音频频谱响应,实现低音增强、高音切平等效果。
|
||
|
||
## 公共方法
|
||
|
||
| 方法 | 描述 |
|
||
|------|------|
|
||
| [`Equalizer`](constructor.md) | 构造函数 |
|
||
| [`~Equalizer`](destructor.md) | 析构函数 |
|
||
| [`ProcessAudio`](process-audio.md) | 处理均衡后的音频 |
|
||
| [`SetBandCount`](set-band-count.md) | 设置频段数量 |
|
||
| [`GetBandCount`](get-band-count.md) | 获取频段数量 |
|
||
| [`SetBandFrequency`](set-band-frequency.md) | 设置频段频率 |
|
||
| [`GetBandFrequency`](get-band-frequency.md) | 获取频段频率 |
|
||
| [`SetBandGain`](set-band-gain.md) | 设置频段增益 |
|
||
| [`GetBandGain`](get-band-gain.md) | 获取频段增益 |
|
||
| [`SetBandQ`](set-band-q.md) | 设置频段 Q 值 |
|
||
| [`GetBandQ`](get-band-q.md) | 获取频段 Q 值 |
|
||
| [`SetEnabled`](set-enabled.md) | 设置启用状态 |
|
||
| [`IsEnabled`](is-enabled.md) | 检查启用状态 |
|
||
| [`SetWetMix`](set-wet-mix.md) | 设置湿信号混合比例 |
|
||
| [`GetWetMix`](get-wet-mix.md) | 获取湿信号混合比例 |
|
||
|
||
## 使用示例
|
||
|
||
```cpp
|
||
#include <XCEngine/Audio/Equalizer.h>
|
||
|
||
using namespace XCEngine::Audio;
|
||
|
||
void SetupEqualizer() {
|
||
Equalizer* eq = new Equalizer();
|
||
eq->SetBandCount(4);
|
||
|
||
eq->SetBandFrequency(0, 100.0f);
|
||
eq->SetBandGain(0, 3.0f);
|
||
eq->SetBandQ(0, 1.0f);
|
||
|
||
eq->SetBandFrequency(1, 1000.0f);
|
||
eq->SetBandGain(1, 0.0f);
|
||
eq->SetBandQ(1, 1.0f);
|
||
|
||
eq->SetBandFrequency(2, 5000.0f);
|
||
eq->SetBandGain(2, -2.0f);
|
||
eq->SetBandQ(2, 1.0f);
|
||
|
||
eq->SetBandFrequency(3, 10000.0f);
|
||
eq->SetBandGain(3, 0.0f);
|
||
eq->SetBandQ(3, 1.0f);
|
||
}
|
||
```
|
||
|
||
## 相关文档
|
||
|
||
- [Audio 模块总览](../audio.md) - Audio 模块总览
|
||
- [IAudioEffect](../i-audio-effect/i-audio-effect.md) - 音频效果接口
|