- audio: 更新 i-audio-backend, i-audio-effect, wasapi-backend 方法文档 - scene: 更新 scene.md 模块总览
1.7 KiB
1.7 KiB
WASAPIBackend
命名空间: XCEngine::Audio::WASAPI
类型: class
头文件: XCEngine/Audio/WASAPI/WASAPIBackend.h
描述: Windows Audio Session API (WASAPI) 音频后端实现。
概述
WASAPIBackend 是基于 Windows WASAPI 的音频后端实现,通过 Windows MultiMedia API (waveXxx 函数) 提供音频输出能力。它运行在单独的音频线程上,使用双缓冲区交换机制实现流畅的音频播放,支持设备枚举、音量控制和静音管理。
公共方法
| 方法 | 描述 |
|---|---|
Initialize |
初始化 WASAPI 后端 |
Shutdown |
关闭 WASAPI 后端 |
GetDeviceName |
获取当前设备名称 |
GetAvailableDevices |
获取可用设备列表 |
SetDevice |
设置音频设备 |
GetMasterVolume |
获取主音量 |
SetMasterVolume |
设置主音量 |
IsMuted |
检查静音状态 |
SetMuted |
设置静音状态 |
Start |
启动音频处理 |
Stop |
停止音频处理 |
Suspend |
暂停音频处理 |
Resume |
恢复音频处理 |
ProcessAudio |
处理音频数据 |
IsRunning |
检查是否正在运行 |
GetConfig |
获取配置信息 |
使用示例
#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 模块总览
- IAudioBackend - 音频后端接口