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

61 lines
1.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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) - 音频系统