MemoryAudio and StreamedAudio currently serve different purposes in audio.
MemoryAudio has explicit looping and playback controls but a lack of panning, volume, muting, and other controls. It also uses much more memory as the entire file gets loaded into the system at once.
StreamedAudio, on the other hand, loads the file in chunks which uses much less memory. It has the panning, volume, muting, etc. controls but still lacks explicit looping and playback controls.
In this situation, StreamedAudio has more pros than MemoryAudio and should be the chosen audio type to use.
The New Feature Idea(s)
I would like to replace MemoryAudio entirely, in favor of StreamedAudio. Being more memory-efficient, it is the most natural option to continue using.
This also means that StreamedAudio needs to support the following features:
[ ] Explicit looping controls (LoopSequences for controlling a sequence of loops)
[ ] Explicit playback controls (these may require an asynchronous awaiting response) such as audio seeking (responsive to loop sequences?)
Other than that, these tasks should also be completed:
[ ] Update audio examples to only use the one audio type
[ ] integrate StreamedAudio into the Audio interface?
[ ] explicit unit testing for all of StreamedAudio's new features
Alternatives
No response
Code of Conduct
[X] I agree to follow this project's Code of Conduct
Currently, the audio system FastJ uses does not provide any proper solutions to completely replace MemoryAudio. Unless an alternative audio engine can be considered, this will be closed.
Origins of the Feature
MemoryAudio
andStreamedAudio
currently serve different purposes in audio.MemoryAudio
has explicit looping and playback controls but a lack of panning, volume, muting, and other controls. It also uses much more memory as the entire file gets loaded into the system at once.StreamedAudio
, on the other hand, loads the file in chunks which uses much less memory. It has the panning, volume, muting, etc. controls but still lacks explicit looping and playback controls.In this situation,
StreamedAudio
has more pros thanMemoryAudio
and should be the chosen audio type to use.The New Feature Idea(s)
I would like to replace
MemoryAudio
entirely, in favor ofStreamedAudio
. Being more memory-efficient, it is the most natural option to continue using.This also means that
StreamedAudio
needs to support the following features:Other than that, these tasks should also be completed:
Alternatives
No response
Code of Conduct