docs: 添加 Audio 模块和 Components 模块 API 文档
- 新增 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 添加模块导航
This commit is contained in:
17
docs/api/audio/audio-mixer/add-effect.md
Normal file
17
docs/api/audio/audio-mixer/add-effect.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# AudioMixer::AddEffect
|
||||
|
||||
添加音频效果到效果链。
|
||||
|
||||
```cpp
|
||||
void AddEffect(IAudioEffect* effect);
|
||||
```
|
||||
|
||||
效果按添加顺序依次处理音频数据。
|
||||
|
||||
**参数:**
|
||||
- `effect` - IAudioEffect 指针,混音器不拥有效果对象的所有权
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [AudioMixer 总览](audio-mixer.md)
|
||||
- [RemoveEffect](remove-effect.md)
|
||||
69
docs/api/audio/audio-mixer/audio-mixer.md
Normal file
69
docs/api/audio/audio-mixer/audio-mixer.md
Normal file
@@ -0,0 +1,69 @@
|
||||
# AudioMixer
|
||||
|
||||
**命名空间**: `XCEngine::Audio`
|
||||
|
||||
**类型**: `class`
|
||||
|
||||
**头文件**: `XCEngine/Audio/AudioMixer.h`
|
||||
|
||||
**描述**: 音频混音器,管理效果链、通道音量和 3D 空间化参数。
|
||||
|
||||
## 概述
|
||||
|
||||
AudioMixer 是 XCEngine 音频模块中的混音器类,负责将多个音频效果串联处理、管理通道音量和 3D 空间化参数。混音器支持添加或移除 IAudioEffect 效果(如 Reverbation、Equalizer、FFTFilter),支持输出到父混音器形成混音树结构。
|
||||
|
||||
## 公共方法
|
||||
|
||||
| 方法 | 描述 |
|
||||
|------|------|
|
||||
| [`AudioMixer`](constructor.md) | 构造函数 |
|
||||
| [`~AudioMixer`](destructor.md) | 析构函数 |
|
||||
| [`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 空间化参数
|
||||
12
docs/api/audio/audio-mixer/clear-effects.md
Normal file
12
docs/api/audio/audio-mixer/clear-effects.md
Normal file
@@ -0,0 +1,12 @@
|
||||
# AudioMixer::ClearEffects
|
||||
|
||||
清除效果链中的所有音频效果。
|
||||
|
||||
```cpp
|
||||
void ClearEffects();
|
||||
```
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [AudioMixer 总览](audio-mixer.md)
|
||||
- [AddEffect](add-effect.md)
|
||||
16
docs/api/audio/audio-mixer/get-channel-volume.md
Normal file
16
docs/api/audio/audio-mixer/get-channel-volume.md
Normal file
@@ -0,0 +1,16 @@
|
||||
# AudioMixer::GetChannelVolume
|
||||
|
||||
获取指定音频通道的音量。
|
||||
|
||||
```cpp
|
||||
float GetChannelVolume(AudioChannel channel) const;
|
||||
```
|
||||
|
||||
**参数:**
|
||||
- `channel` - 音频通道枚举值
|
||||
|
||||
**返回:** `float` - 通道音量值
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [AudioMixer 总览](audio-mixer.md)
|
||||
16
docs/api/audio/audio-mixer/process-audio.md
Normal file
16
docs/api/audio/audio-mixer/process-audio.md
Normal file
@@ -0,0 +1,16 @@
|
||||
# AudioMixer::ProcessAudio
|
||||
|
||||
处理音频数据,应用所有效果和音量。
|
||||
|
||||
```cpp
|
||||
void ProcessAudio(float* buffer, uint32 sampleCount, uint32 channels);
|
||||
```
|
||||
|
||||
**参数:**
|
||||
- `buffer` - 音频缓冲区指针
|
||||
- `sampleCount` - 样本数量
|
||||
- `channels` - 通道数
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [AudioMixer 总览](audio-mixer.md)
|
||||
15
docs/api/audio/audio-mixer/remove-effect.md
Normal file
15
docs/api/audio/audio-mixer/remove-effect.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# AudioMixer::RemoveEffect
|
||||
|
||||
从效果链移除音频效果。
|
||||
|
||||
```cpp
|
||||
void RemoveEffect(IAudioEffect* effect);
|
||||
```
|
||||
|
||||
**参数:**
|
||||
- `effect` - 要移除的 IAudioEffect 指针
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [AudioMixer 总览](audio-mixer.md)
|
||||
- [AddEffect](add-effect.md)
|
||||
15
docs/api/audio/audio-mixer/set-3d-params.md
Normal file
15
docs/api/audio/audio-mixer/set-3d-params.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# AudioMixer::Set3DParams
|
||||
|
||||
设置 3D 空间化参数。
|
||||
|
||||
```cpp
|
||||
void Set3DParams(const Audio3DParams& params);
|
||||
```
|
||||
|
||||
**参数:**
|
||||
- `params` - 3D 空间化参数结构体引用
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [AudioMixer 总览](audio-mixer.md)
|
||||
- [Audio3DParams](../audio-3d-params/audio-3d-params.md)
|
||||
15
docs/api/audio/audio-mixer/set-channel-volume.md
Normal file
15
docs/api/audio/audio-mixer/set-channel-volume.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# AudioMixer::SetChannelVolume
|
||||
|
||||
设置指定音频通道的音量。
|
||||
|
||||
```cpp
|
||||
void SetChannelVolume(AudioChannel channel, float volume);
|
||||
```
|
||||
|
||||
**参数:**
|
||||
- `channel` - 音频通道枚举值
|
||||
- `volume` - 音量值,有效范围 [0.0, 1.0]
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [AudioMixer 总览](audio-mixer.md)
|
||||
15
docs/api/audio/audio-mixer/set-mute.md
Normal file
15
docs/api/audio/audio-mixer/set-mute.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# AudioMixer::SetMute
|
||||
|
||||
设置混音器静音状态。
|
||||
|
||||
```cpp
|
||||
void SetMute(bool mute);
|
||||
```
|
||||
|
||||
**参数:**
|
||||
- `mute` - true 为启用静音,false 为禁用静音
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [AudioMixer 总览](audio-mixer.md)
|
||||
- [IsMute](is-mute.md)
|
||||
16
docs/api/audio/audio-mixer/set-output-mixer.md
Normal file
16
docs/api/audio/audio-mixer/set-output-mixer.md
Normal file
@@ -0,0 +1,16 @@
|
||||
# AudioMixer::SetOutputMixer
|
||||
|
||||
设置输出混音器。
|
||||
|
||||
```cpp
|
||||
void SetOutputMixer(AudioMixer* mixer);
|
||||
```
|
||||
|
||||
设置父混音器,处理后的音频将输出到父混音器进行进一步混音。
|
||||
|
||||
**参数:**
|
||||
- `mixer` - 父混音器指针,nullptr 表示直接输出到后端
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [AudioMixer 总览](audio-mixer.md)
|
||||
15
docs/api/audio/audio-mixer/set-volume.md
Normal file
15
docs/api/audio/audio-mixer/set-volume.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# AudioMixer::SetVolume
|
||||
|
||||
设置混音器音量。
|
||||
|
||||
```cpp
|
||||
void SetVolume(float volume);
|
||||
```
|
||||
|
||||
**参数:**
|
||||
- `volume` - 音量值,有效范围 [0.0, 1.0]
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [AudioMixer 总览](audio-mixer.md)
|
||||
- [GetVolume](get-volume.md)
|
||||
Reference in New Issue
Block a user