2026-03-20 02:35:35 +08:00
|
|
|
# AudioLoader
|
|
|
|
|
|
|
|
|
|
## 命名空间
|
|
|
|
|
|
|
|
|
|
`XCEngine::Resources`
|
|
|
|
|
|
|
|
|
|
## 类型
|
|
|
|
|
|
|
|
|
|
类 (Class)
|
|
|
|
|
|
|
|
|
|
## 描述
|
|
|
|
|
|
|
|
|
|
音频资源加载器,负责从文件系统加载音频文件并转换为 `AudioClip` 资源。支持 WAV、OGG、MP3、FLAC、AIFF 等常见音频格式。
|
|
|
|
|
|
|
|
|
|
## 概述
|
|
|
|
|
|
|
|
|
|
`AudioLoader` 继承自 `IResourceLoader` 接口,实现音频资源的异步加载与格式解析。内部通过文件扩展名和文件头数据双重检测确定音频格式,确保加载结果的准确性。
|
|
|
|
|
|
|
|
|
|
## 公共方法表格
|
|
|
|
|
|
|
|
|
|
| 方法 | 返回值 | 描述 |
|
|
|
|
|
|------|--------|------|
|
2026-03-22 14:42:27 +08:00
|
|
|
| [AudioLoader](constructor.md) | - | 构造函数 |
|
|
|
|
|
| [~AudioLoader](destructor.md) | - | 析构函数 |
|
|
|
|
|
| [GetResourceType](get-resource-type.md) | `ResourceType` | 返回资源类型 `AudioClip` |
|
|
|
|
|
| [GetSupportedExtensions](get-supported-extensions.md) | `Array<String>` | 获取支持的扩展名列表 |
|
|
|
|
|
| [CanLoad](can-load.md) | `bool` | 检查是否能够加载指定路径的资源 |
|
|
|
|
|
| [Load](load.md) | `LoadResult` | 加载音频资源 |
|
|
|
|
|
| [GetDefaultSettings](get-default-settings.md) | `ImportSettings*` | 获取默认导入设置 |
|
2026-03-20 02:35:35 +08:00
|
|
|
|
|
|
|
|
## 使用示例
|
|
|
|
|
|
|
|
|
|
```cpp
|
|
|
|
|
#include "Resources/AudioLoader.h"
|
|
|
|
|
#include "Resources/ResourceManager.h"
|
|
|
|
|
|
|
|
|
|
using namespace XCEngine::Resources;
|
|
|
|
|
|
|
|
|
|
// 通过 ResourceManager 加载音频
|
|
|
|
|
ResourceGUID guid = ResourceGUID::Generate("assets/audio/bgm_music.ogg");
|
|
|
|
|
LoadResult result = ResourceManager::Get().Load(guid, "assets/audio/bgm_music.ogg");
|
|
|
|
|
|
|
|
|
|
if (result.IsSuccess()) {
|
|
|
|
|
AudioClip* clip = result.GetResource<AudioClip>();
|
|
|
|
|
// 使用音频片段
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## 相关文档
|
|
|
|
|
|
2026-03-22 14:42:27 +08:00
|
|
|
- [GetSupportedExtensions](get-supported-extensions.md) - 获取支持的音频格式
|
|
|
|
|
- [CanLoad](can-load.md) - 检查资源可加载性
|
2026-03-20 02:35:35 +08:00
|
|
|
- [Load](load.md) - 加载音频资源
|
2026-03-22 14:42:27 +08:00
|
|
|
- [GetDefaultSettings](get-default-settings.md) - 获取默认导入设置
|
|
|
|
|
- [IResourceLoader](../iloader/iloader.md) - 资源加载器基类
|
|
|
|
|
- [AudioClip](../audioclip/audioclip.md) - 音频资源类型
|