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 footprint

    Cons:
    - 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 here

    Cons:
    - Very high memory footprint

    Hybried (store the compressed audio data in memory and stream from there)
    -------------------------------------------------------------------------
    Pros:
    - Much much better memory footprint
    - No IO enter code here

    Cons:
    - 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


Log in to reply