feat(audio): Implement audio management system with multi-stream and single-stream players

- Added AudioData class to encapsulate audio name and input stream.
- Introduced AudioLoader for loading audio files with caching mechanism.
- Created AudioLoaderRequest for handling audio loading requests.
- Developed AudioOptions class to manage audio settings for sound effects and music.
- Implemented AudioPlayer interface and its concrete classes: AudioPlayerMultiStream and AudioPlayerSingleStream.
- Established AudioStrategy interface with implementations for Java Mixer and Software Mixing strategies.
- Enhanced StaticResource class with a custom toString method for better resource path representation.
- Updated Spring configuration to include AudioAutoConfiguration for audio management.
This commit is contained in:
extio-de
2025-12-24 21:31:25 +01:00
parent 1bc116374c
commit eb8d08f418
15 changed files with 1618 additions and 0 deletions

View File

@@ -6,3 +6,4 @@ de.extio.game_engine.storage.StorageServiceAutoConfiguration
de.extio.game_engine.module.ModuleServiceAutoConfiguration
de.extio.game_engine.i18n.LocalizationAutoConfiguration
de.extio.game_engine.resource.StaticResourceAutoConfiguration
de.extio.game_engine.audio.AudioAutoConfiguration