Audiostreaming on mobile devices
-
I am currently working on a game engine for Android.
Please don't ask me, why I am doing this - I know there are good engines out there,
I do it - "because I can"Now I am working on the sound system and I am gonna write a vorbis decoder
for audio files. The decicion I am struggeling with right now is:
Streaming or not streaming for long clips (5min). I see the following options:Streaming:
---------
Pros:
- Low Memory footprintCons:
- Particularly harder to implement
- Extensive IO (shorter battery lifetime?)
- High CPU consumption (less CPU available for the rest of the game,
probably significantly shorter battery lifetime due to higher CPU usage)Non-Streaming:
-------------
Pros:
- Particularly easier to implement
- Low CPU consumption (longer battery lifetime)
- No IO (longer battery lifetime) enter code hereCons:
- Very high memory footprintHybried (store the compressed audio data in memory and stream from there)
-------------------------------------------------------------------------
Pros:
- Much much better memory footprint
- No IO enter code hereCons:
- Still particularly harder to implement
- Still having high CPU consumption (Battery lifetime and maybe possible fps drop)What would you guys suggest? Are my thoughts flawed? Which way would you go and why? What are your experiences?
Many thanks and best regards
Samuel