Subversion Repositories AndroidProjects

Rev

Rev 362 | Blame | Compare with Previous | Last modification | View Log | RSS feed

package com.gebauz.pingk.game;

import java.util.Random;

import com.gebauz.Bauzoid.app.Game;
import com.gebauz.Bauzoid.app.GameObject;

public class MusicPlayer extends GameObject
{
       
        private static String[] tracks =
        {
                "music1.ogg",
                "music2.ogg",
                "music3.ogg",
                "music4.ogg"
        };
       
        private final float MUSIC_CHECK_INTERVAL = 5.0f;
       
        private int mCurrentTrack = 0; 
        private boolean mIsPlaying = false;
        private float mMusicCheckTimer = MUSIC_CHECK_INTERVAL;
       
        public MusicPlayer(Game game)
        {
                super(game);           
        }
       
        public void start()
        {
                if (getGame().areAdsEnabled())
                {
                        mCurrentTrack = 0;
                }
                else
                {
                        mCurrentTrack = getGame().getRandomInt(0, 4);
                }
               
                getGame().getAudio().playMusic("data/music/" + tracks[mCurrentTrack], false);
                mIsPlaying = true;
        }
       
        public void stop()     
        {
                getGame().getAudio().pauseMusic();
                mIsPlaying = false;            
        }
       
        public void update(float deltaTime)
        {
                mMusicCheckTimer -= deltaTime;
               
                if (mMusicCheckTimer < 0)
                {
                        if (mIsPlaying)
                        {
                                // check if song reached end
                                if (!getGame().getAudio().isMusicPlaying())
                                {
                                        // start next song in full version
                                       
                                        if (!getGame().areAdsEnabled())
                                        {
                                                mCurrentTrack++;
                                                if (mCurrentTrack >= tracks.length)
                                                        mCurrentTrack = 0;
                                        }
                                       
                                        getGame().getAudio().playMusic("data/music/" + tracks[mCurrentTrack], false);
                                }
                        }
                       
                        mMusicCheckTimer = MUSIC_CHECK_INTERVAL;
                }
        }
       
        public void render()
        {
               
        }      

}