Files
XCEngine/docs/api/XCEngine/Audio/AudioConfig/AudioConfig.md

49 lines
1.8 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.
# AudioConfig
**命名空间**: `XCEngine::Audio`
**类型**: `struct`
**头文件**: `XCEngine/Audio/AudioConfig.h`
**描述**: 描述音频输出设备初始化时使用的基础采样格式和缓冲配置。
## 角色概述
`AudioConfig` 是音频系统和平台后端之间共享的配置载体。它主要回答三个问题:
- 采样格式是什么
- 输出声道布局是什么
- 缓冲区如何组织
当前最直接的使用点是 [AudioSystem::Initialize](../AudioSystem/Initialize.md) 和 [WASAPIBackend](../WindowsAudioBackend/WindowsAudioBackend.md) 的初始化流程。
## 字段说明
- `sampleRate`
说明: 默认 `48000`,当前内建后端会把它写入 `WAVEFORMATEX`
- `channels`
说明: 默认 `2`,当前主链路主要按立体声思路实现。
- `bitsPerSample`
说明: 默认 `16`Windows 后端最终输出也会转成 `int16`
- `speakerMode`
说明: 逻辑层面的声道模式描述,默认 `Stereo`
- `bufferSize`
说明: 默认 `8192`,当前 `AudioSystem::Update()` 和后端缓冲逻辑都会读取它,但“按帧数还是按样本数”这一语义在现有实现里还不够统一。
- `bufferCount`
说明: 默认 `2`,当前更像配置预留字段,没有在已取证的主链路里形成完整策略分支。
## 当前实现限制
- 当前公开字段已经足够表达基础 PCM 输出格式,但还没有更完整的设备能力协商层。
- `bufferSize``AudioSystem` 和内建 Windows 后端里的使用语义存在一定模糊性,文档不把它写成严格稳定契约。
- `bufferCount` 当前没有看到明显的运行时消费点。
## 相关文档
- [当前模块](../Audio.md)
- [AudioSystem](../AudioSystem/AudioSystem.md)
- [IAudioBackend](../IAudioBackend/IAudioBackend.md)
- [WASAPIBackend](../WindowsAudioBackend/WindowsAudioBackend.md)
- [API 总索引](../../../main.md)