Files
XCEngine/docs/api/audio/i-audio-backend/i-audio-backend.md

61 lines
1.7 KiB
Markdown
Raw Normal View History

# IAudioBackend
**命名空间**: `XCEngine::Audio`
**类型**: `class (abstract)`
**头文件**: `XCEngine/Audio/IAudioBackend.h`
**描述**: 音频后端抽象接口,定义音频输出的统一接口。
## 概述
IAudioBackend 是音频后端的抽象接口,定义了音频系统与具体音频 API如 WASAPI、OpenAL交互的统一接口。不同的音频后端实现如 WASAPIBackend继承此接口提供实际的音频输出能力。
## 抽象方法
| 方法 | 描述 |
|------|------|
| `Initialize` | 初始化音频后端 |
| `Shutdown` | 关闭音频后端 |
| `GetDeviceName` | 获取设备名称 |
| `GetAvailableDevices` | 获取可用设备列表 |
| `SetDevice` | 设置音频设备 |
| `GetMasterVolume` | 获取主音量 |
| `SetMasterVolume` | 设置主音量 |
| `IsMuted` | 检查静音状态 |
| `SetMuted` | 设置静音状态 |
| `Start` | 启动音频处理 |
| `Stop` | 停止音频处理 |
| `Suspend` | 暂停音频处理 |
| `Resume` | 恢复音频处理 |
| `ProcessAudio` | 处理音频数据 |
| `IsRunning` | 检查是否正在运行 |
| `GetConfig` | 获取配置信息 |
## 使用示例
```cpp
#include <XCEngine/Audio/IAudioBackend.h>
#include <XCEngine/Audio/WindowsAudioBackend.h>
using namespace XCEngine::Audio;
void CreateBackend() {
IAudioBackend* backend = new WASAPI::WASAPIBackend();
AudioConfig config;
config.sampleRate = 48000;
config.channels = 2;
backend->Initialize(config);
backend->Start();
}
```
## 相关文档
- [Audio 模块总览](../audio.md) - Audio 模块总览
- [WASAPIBackend](../wasapi-backend/wasapi-backend.md) - WASAPI 后端实现
- [AudioSystem](../audio-system/audio-system.md) - 音频系统