Files
XCEngine/docs/api/audio/wasapi-backend/wasapi-backend.md
ssdfasd 1f97102f33 docs: 更新 audio 和 scene 模块文档
- audio: 更新 i-audio-backend, i-audio-effect, wasapi-backend 方法文档
- scene: 更新 scene.md 模块总览
2026-03-26 01:53:04 +08:00

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);
}

相关文档