2.2 KiB
2.2 KiB
AudioMixer
命名空间: XCEngine::Audio
类型: class
头文件: XCEngine/Audio/AudioMixer.h
描述: 音频混音器,管理效果链、通道音量和 3D 空间化参数。
概述
AudioMixer 是 XCEngine 音频模块中的混音器类,负责将多个音频效果串联处理、管理通道音量和 3D 空间化参数。混音器支持添加或移除 IAudioEffect 效果(如 Reverbation、Equalizer、FFTFilter),支持输出到父混音器形成混音树结构。
公共方法
| 方法 | 描述 |
|---|---|
SetVolume |
设置混音器音量 |
GetVolume |
获取混音器音量 |
SetMute |
设置静音状态 |
IsMute |
检查静音状态 |
AddEffect |
添加音频效果 |
RemoveEffect |
移除音频效果 |
ClearEffects |
清除所有效果 |
ProcessAudio |
处理音频数据 |
SetOutputMixer |
设置输出混音器 |
GetOutputMixer |
获取输出混音器 |
Set3DParams |
设置 3D 空间化参数 |
Get3DParams |
获取 3D 空间化参数 |
SetChannelVolume |
设置通道音量 |
GetChannelVolume |
获取通道音量 |
使用示例
#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 模块总览
- IAudioEffect - 音频效果接口
- Audio3DParams - 3D 空间化参数