HEngine
  • 引擎编译
  • 未来工作
  • 使用文档
    • 代码规范
    • Shader规范
    • config 配置
  • Python脚本系统
    • 技术分析
    • 使用api
  • Cpp脚本系统
    • 技术分析
  • 技术文档 & 心得体会
    • 数学
      • 坐标系、UV与深度范围
      • 行主序 与 列主序
    • 路径管理
    • 构建系统
    • 自定义资源格式
    • UI
      • undo/redo
      • 分辨率处理
    • ECS 系统
    • 插件系统
    • 数学库
    • Ref Counted
    • 音频
    • ChatGPT
    • Mesh、Vertex 等组织关系
    • 编辑器热更新方案
    • Profile
    • NLP
    • RenderDoc
    • CodeGen与反射系统
    • 安装包
    • 物理引擎
      • PhysX集成
      • Bullet集成
    • 动画
  • 图形后端
    • 坐标系差异
    • Feature差异
    • RHI 封装
    • Shader与Constant Buffer
    • DX12
    • Vulkan
    • Render Graph
    • 渲染整体架构
  • 图形Feature
    • 毛发
    • 鼠标拾取
    • 实例化渲染
  • Shader
    • Shader 交叉编译
    • Shader Toy
    • Shader 热更新
    • PBR
  • 打包
    • 打包
  • Bug 记录 & 解决过程
    • 闪退记录汇总
    • 导入图片显示混乱
    • D3D下glfw+imgui失效
  • 其他资料
    • 总结集合
Powered by GitBook
On this page
  • 第三方库选择
  • 调研结果
  • 准备选择
  • Soloud
  1. 技术文档 & 心得体会

音频

第三方库选择

https://gist.github.com/tido64/f1177d85416a09e67147

最常用的商用音频库是 Wwise 和 FMOD,我一开始也是 FMOD,但是这二者都是商用音频库,到了一定阶段(50万美元?)以上需要付费,因此寻找的一个可能的替代方案是OpenAL Soft:

https://github.com/kcat/openal-soft

一个封装是:https://github.com/TheCherno/HazelAudio

这个库api设计很像OpenGL,另一个方案是:

https://solhsa.com/soloud/

以及(但是这玩意居然也是付费的):

https://www.ambiera.com/irrklang/downloads.html https://learnopengl.com/In-Practice/2D-Game/Audio

调研结果

免费 soloud openal-soft(openal的一个C++实现)

付费 Wwise FMOD irrklang,付费模式都差不多:到了一定阶段需要付费。

目前最主流的是 Wwise 和 FMOD

python端

OpenAL soft有对应的pybinding,同时我们还能用pygame、playsound、simpleaudio、vlc之类的库。但是py端可能库较庞杂,我们还是优先考虑用cpp的音频方案。

准备选择

准备用 https://solhsa.com/soloud/ 替代 FMOD,其虽然简陋,但是包含了 2d 3d 音频播放以及加载音频,这已经足够了。

Soloud

他是集成多个后端测试,后端主要用于加载音频文件,再由该库撰写的代码来播放。后端的选择可见:

https://solhsa.com/soloud/backends.html

我们并没有用到SDL,没必要再引入sdl专门用于音频。我们使用miniaudio即可,这是一个单头文件库,也是开源的:https://github.com/mackron/miniaudio

PreviousRef CountedNextChatGPT

Last updated 2 years ago