Files
XCEngine/docs/api/audio/audio-mixer/audio-mixer.md

68 lines
2.2 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.
# AudioMixer
**命名空间**: `XCEngine::Audio`
**类型**: `class`
**头文件**: `XCEngine/Audio/AudioMixer.h`
**描述**: 音频混音器,管理效果链、通道音量和 3D 空间化参数。
## 概述
AudioMixer 是 XCEngine 音频模块中的混音器类,负责将多个音频效果串联处理、管理通道音量和 3D 空间化参数。混音器支持添加或移除 IAudioEffect 效果(如 Reverbation、Equalizer、FFTFilter支持输出到父混音器形成混音树结构。
## 公共方法
| 方法 | 描述 |
|------|------|
| [`SetVolume`](set-volume.md) | 设置混音器音量 |
| [`GetVolume`](get-volume.md) | 获取混音器音量 |
| [`SetMute`](set-mute.md) | 设置静音状态 |
| [`IsMute`](is-mute.md) | 检查静音状态 |
| [`AddEffect`](add-effect.md) | 添加音频效果 |
| [`RemoveEffect`](remove-effect.md) | 移除音频效果 |
| [`ClearEffects`](clear-effects.md) | 清除所有效果 |
| [`ProcessAudio`](process-audio.md) | 处理音频数据 |
| [`SetOutputMixer`](set-output-mixer.md) | 设置输出混音器 |
| [`GetOutputMixer`](get-output-mixer.md) | 获取输出混音器 |
| [`Set3DParams`](set-3d-params.md) | 设置 3D 空间化参数 |
| [`Get3DParams`](get-3d-params.md) | 获取 3D 空间化参数 |
| [`SetChannelVolume`](set-channel-volume.md) | 设置通道音量 |
| [`GetChannelVolume`](get-channel-volume.md) | 获取通道音量 |
## 使用示例
```cpp
#include <XCEngine/Audio/AudioMixer.h>
#include <XCEngine/Audio/Reverbation.h>
#include <XCEngine/Audio/Equalizer.h>
using namespace XCEngine::Audio;
void SetupMixerWithEffects() {
AudioMixer* mixer = new AudioMixer();
mixer->SetVolume(0.8f);
Reverbation* reverb = new Reverbation();
reverb->SetRoomSize(0.5f);
reverb->SetWetMix(0.3f);
Equalizer* eq = new Equalizer();
eq->SetBandCount(4);
mixer->AddEffect(eq);
mixer->AddEffect(reverb);
}
void RouteToParentMixer(AudioMixer* child, AudioMixer* parent) {
child->SetOutputMixer(parent);
}
```
## 相关文档
- [Audio 模块总览](../audio.md) - Audio 模块总览
- [IAudioEffect](../i-audio-effect/i-audio-effect.md) - 音频效果接口
- [Audio3DParams](../audio-3d-params/audio-3d-params.md) - 3D 空间化参数