Files
XCEngine/docs/api/audio/wasapi-backend/wasapi-backend.md
ssdfasd 161a0896d5 docs: 添加 Audio 模块和 Components 模块 API 文档
- 新增 Audio 模块文档 (54 个文件)
  - AudioSystem 单例类及 20 个方法页
  - AudioMixer 混音器类及 11 个方法页
  - IAudioBackend、IAudioEffect 接口
  - FFTFilter、Reverbation、Equalizer、HRTF 效果类
  - WASAPIBackend Windows 后端
  - AudioConfig、Audio3DParams 等结构体
  - 9 个枚举类型文档
- 新增 Components 模块文档 (3 个文件)
  - AudioSourceComponent 音频源组件
  - AudioListenerComponent 音频监听器组件
- 更新 docs/api/main.md 添加模块导航
2026-03-22 01:56:16 +08:00

2.1 KiB

WASAPIBackend

命名空间: XCEngine::Audio::WASAPI

类型: class

头文件: XCEngine/Audio/WASAPI/WASAPIBackend.h

描述: Windows Audio Session API (WASAPI) 音频后端实现。

概述

WASAPIBackend 是基于 Windows WASAPI 的音频后端实现,通过 Windows MultiMedia API (waveXxx 函数) 提供音频输出能力。它运行在单独的音频线程上,使用双缓冲区交换机制实现流畅的音频播放,支持设备枚举、音量控制和静音管理。

公共方法

方法 描述
WASAPIBackend 构造函数
~WASAPIBackend 析构函数
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);
}

相关文档