61 lines
2.0 KiB
Markdown
61 lines
2.0 KiB
Markdown
|
|
# IAudioBackend
|
|||
|
|
|
|||
|
|
**命名空间**: `XCEngine::Audio`
|
|||
|
|
|
|||
|
|
**类型**: `class (abstract)`
|
|||
|
|
|
|||
|
|
**头文件**: `XCEngine/Audio/IAudioBackend.h`
|
|||
|
|
|
|||
|
|
**描述**: 音频后端抽象接口,定义音频输出的统一接口。
|
|||
|
|
|
|||
|
|
## 概述
|
|||
|
|
|
|||
|
|
IAudioBackend 是音频后端的抽象接口,定义了音频系统与具体音频 API(如 WASAPI、OpenAL)交互的统一接口。不同的音频后端实现(如 WASAPIBackend)继承此接口,提供实际的音频输出能力。
|
|||
|
|
|
|||
|
|
## 抽象方法
|
|||
|
|
|
|||
|
|
| 方法 | 描述 |
|
|||
|
|
|------|------|
|
|||
|
|
| [`Initialize`](initialize.md) | 初始化音频后端 |
|
|||
|
|
| [`Shutdown`](shutdown.md) | 关闭音频后端 |
|
|||
|
|
| [`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/IAudioBackend.h>
|
|||
|
|
#include <XCEngine/Audio/WASAPI/WASAPIBackend.h>
|
|||
|
|
|
|||
|
|
using namespace XCEngine::Audio;
|
|||
|
|
|
|||
|
|
void CreateBackend() {
|
|||
|
|
IAudioBackend* backend = new 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) - 音频系统
|