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

2.2 KiB
Raw Blame History

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);
}

相关文档