Files
XCEngine/docs/api/audio/equalizer/equalizer.md

66 lines
1.7 KiB
Markdown
Raw Normal View History

# Equalizer
**命名空间**: `XCEngine::Audio`
**类型**: `class`
**头文件**: `XCEngine/Audio/Equalizer.h`
**描述**: 多频段参数均衡器。
## 概述
Equalizer 是基于双二阶滤波器Biquad Filter的多频段参数均衡器实现。它支持设置任意数量的频段每个频段可独立调节频率、增益Gain/dB和 Q 值。可用于调整音频频谱响应,实现低音增强、高音切平等效果。
## 公共方法
| 方法 | 描述 |
|------|------|
| `ProcessAudio` | 处理均衡后的音频 |
| `SetBandCount` | 设置频段数量 |
| `GetBandCount` | 获取频段数量 |
| `SetBandFrequency` | 设置频段频率 |
| `GetBandFrequency` | 获取频段频率 |
| `SetBandGain` | 设置频段增益 |
| `GetBandGain` | 获取频段增益 |
| `SetBandQ` | 设置频段 Q 值 |
| `GetBandQ` | 获取频段 Q 值 |
| `SetEnabled` | 设置启用状态 |
| `IsEnabled` | 检查启用状态 |
| `SetWetMix` | 设置湿信号混合比例 |
| `GetWetMix` | 获取湿信号混合比例 |
## 使用示例
```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) - 音频效果接口