准备 OGG 音频资源
本节准备武器开火、系统循环、界面反馈与市场音乐的 Ogg Vorbis 文件。播放用途先决定声道,资源再按路径放进 MOD;下一节登记声音 ID,随后接到既有武器、系统和市场上。
本节预期阅读时间:~6 分钟。
本节预期操作时间:~10 分钟。
学习目标
完成后,您将能够:
- 导出游戏可读取的 Ogg Vorbis;
- 按用途选择声道并组织声音目录;
- 检查格式、采样率与循环接缝;
- 为外部素材保存来源和许可记录。
前置知识
- [C1-S1] 的 MOD 目录与资源路径;
- 能够使用音频编辑器导出 Ogg Vorbis;
- 能够播放音频并查看格式属性。
先确定声音在哪种场合播放
武器和系统声音通常跟随舰船位置,界面声音作为直接反馈,音乐则连续播放。位置音效采用单声道,UI 音效和音乐采用双声道。因此,导出前按实际播放用途确定声道,资源的名称则用于后面的路径登记。
在 MOD 根目录建立 sounds/,当前准备四个文件:
音频资源速查表
| 文件 | 用途 | 声道 |
|---|---|---|
sounds/GearIn_weapon_fire.ogg | 都林开火位置音效 | mono |
sounds/GearIn_system_loop.ogg | 突击填弹器持续循环 | mono |
sounds/GearIn_ui_feedback.ogg | 进入生涯的界面反馈 | stereo |
sounds/GearIn_market_theme.ogg | 齿轮工业市场音乐 | stereo |
文件名沿用 GearIn_ 前缀,可以继续放进用途子目录。声音 ID 在注册文件中决定,资源路径与 ID 分别填写。例如,市场主题文件名为 GearIn_market_theme.ogg,后面登记的声音 ID 为 GearIn_market_music,两者通过注册条目连接。
导出与检查编码
使用音频编辑器导出 Ogg Vorbis,采用 44100 Hz 或 48000 Hz 采样率,按上表选择声道。扩展名保存为 .ogg,导出后用播放器和格式属性确认实际编码。
循环资源检查首尾的波形与响度。系统循环一旦有明显接缝,游戏中会反复出现同一处断点。 导出前反复播放完整循环,再裁剪或调整首尾;音量可以在注册时调整,接缝则需要在资源本身处理。
资源路径相对于 MOD 根目录,大小写与后面的配置一致。sounds/ 是原版惯例,播放器实际按注册条目的 file 与 source 读取资源,因此可以按项目规模安排子目录,再将路径写入对应条目。
保存素材来源
外部素材记录来源、许可证和修改方式,放在项目文档中。自行录制、公开素材与原版资源都可以作为制作起点,记录按实际来源填写。
后续替换声音时沿用稳定路径和注册 ID,调用代码就可以继续使用当前名称。需要修改文件名时,同时更新登记路径。
验证方案
前置数据:四个音频已导出,外部播放器和属性检查工具可用。
- 检查 sounds 目录,核对四个文件和实际扩展名。
- 逐个播放,确认声音内容与用途。
- 核对 Ogg Vorbis 格式、声道与采样率。
- 反复播放系统循环,比较首尾波形和听感。
- 保存来源许可记录,再进行声音注册。
预期结果:
- 文件可正常播放,属性显示预期编码和声道。
- 位置资源为单声道,UI 与音乐为双声道。
- 循环首尾连续,重复播放保持预期听感。
- 资源路径与来源记录明确。
故障分析
播放器无法识别:扩展名与实际编码不一致,或文件导出不完整。
- 解决方案:重新导出 Ogg Vorbis,并核对文件属性。
位置音效空间表现异常:资源使用双声道。
- 解决方案:按位置播放用途导出 mono,再核对登记路径。
循环有明显断点:首尾波形或响度不连续。
- 解决方案:裁剪与调整接缝,在合适零交叉处导出并重复播放。
游戏加载找不到文件:登记路径与文件目录、大小写不同。
- 解决方案:按相对 MOD 根目录的路径核对 file。
总结
音频准备先确定用途,再决定声道、编码和循环处理。资源文件保存实际声音,下一节的 sounds.json 将声音 ID 连接到文件,具体使用方继续按 ID 引用。
把资源检查放在注册之前,后面排查就能区分素材本身和游戏接入问题。声音变化最直接的依据仍然是实际播放,文件属性与听感一起核对。
建议参考项
data/config/sounds.json:声音 ID 与资源的注册关系。com.fs.starfarer.api.SoundPlayerAPI:各播放方法的声道与用途约定。