A small C# game audio library.
โ very work in progress! likely to have frequent, breaking changes! please use at your own risk! โ
- dotnet 8.0 and C# 12
- The Platform library is a C library that implements native methods required to play audio.
- By default, it is currently being built for 64-bit Linux, MacOS, and Windows through Github Actions.
- To add support for more platforms, you need to build the Platform library and then include it in Foster.Audio.csproj
- Implemented via miniaudio for Linux/Mac/Windows.
- Supported features
- Loading WAV, MP3, FLAC, QOA, OGG, and raw PCM data
- Essential operations/settings: Play, Pause, Stop, Seek, Volume, Pitch, Pan, Looping, Spatialization
- Sound groups to manage multiple sound instances (useful for sound category volume management)
- Garbage free managed sound instances
- Contributions are welcome! However, anything that adds external dependencies or complicates the build process will not be accepted.
- This library is made to work alongside the Foster game framework, but is perfectly capable of working standalone as long as lifecycle methods (
Audio.Startup
,Audio.Shutdown
,Audio.Update
) are called. - This is intended to be a relatively simple library to load and play sounds. If you need more functionality, it may be best to look into more complete solutions like FMOD or Wwise.