49 lines
1.8 KiB
Markdown
49 lines
1.8 KiB
Markdown
# 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)
|