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:
2026-03-22 01:56:16 +08:00
parent 6e5ed41fbf
commit 161a0896d5
58 changed files with 1990 additions and 0 deletions

View File

@@ -0,0 +1,60 @@
# WASAPIBackend
**命名空间**: `XCEngine::Audio::WASAPI`
**类型**: `class`
**头文件**: `XCEngine/Audio/WASAPI/WASAPIBackend.h`
**描述**: Windows Audio Session API (WASAPI) 音频后端实现。
## 概述
WASAPIBackend 是基于 Windows WASAPI 的音频后端实现,通过 Windows MultiMedia API (waveXxx 函数) 提供音频输出能力。它运行在单独的音频线程上,使用双缓冲区交换机制实现流畅的音频播放,支持设备枚举、音量控制和静音管理。
## 公共方法
| 方法 | 描述 |
|------|------|
| [`WASAPIBackend`](constructor.md) | 构造函数 |
| [`~WASAPIBackend`](destructor.md) | 析构函数 |
| [`Initialize`](initialize.md) | 初始化 WASAPI 后端 |
| [`Shutdown`](shutdown.md) | 关闭 WASAPI 后端 |
| [`GetDeviceName`](get-device-name.md) | 获取当前设备名称 |
| [`GetAvailableDevices`](get-available-devices.md) | 获取可用设备列表 |
| [`SetDevice`](set-device.md) | 设置音频设备 |
| [`GetMasterVolume`](get-master-volume.md) | 获取主音量 |
| [`SetMasterVolume`](set-master-volume.md) | 设置主音量 |
| [`IsMuted`](is-muted.md) | 检查静音状态 |
| [`SetMuted`](set-muted.md) | 设置静音状态 |
| [`Start`](start.md) | 启动音频处理 |
| [`Stop`](stop.md) | 停止音频处理 |
| [`Suspend`](suspend.md) | 暂停音频处理 |
| [`Resume`](resume.md) | 恢复音频处理 |
| [`ProcessAudio`](process-audio.md) | 处理音频数据 |
| [`IsRunning`](is-running.md) | 检查是否正在运行 |
| [`GetConfig`](get-config.md) | 获取配置信息 |
## 使用示例
```cpp
#include <XCEngine/Audio/AudioSystem.h>
#include <XCEngine/Audio/WASAPI/WASAPIBackend.h>
using namespace XCEngine::Audio;
void SetupAudioWithWASAPI() {
AudioSystem::Get().SetBackend(std::make_unique<WASAPI::WASAPIBackend>());
AudioConfig config;
config.sampleRate = 48000;
config.channels = 2;
AudioSystem::Get().Initialize(config);
}
```
## 相关文档
- [Audio 模块总览](../audio.md) - Audio 模块总览
- [IAudioBackend](../i-audio-backend/i-audio-backend.md) - 音频后端接口