Android Open Source - Marble-Run Sound






From Project

Back to project page Marble-Run.

License

The source code is released under:

Apache License

If you think the Android project Marble-Run listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package nttu.edu.sound;
/*from  ww  w .j a va2s .  com*/
import java.io.IOException;
import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.res.AssetManager;
import android.media.AudioManager;
import android.media.SoundPool;
import android.preference.PreferenceManager;

public class Sound {
  public static int jumpID;
  public static int coinID;
  private static int id;
  
  public static SoundPool pool;
  public static Context applicationContext = null;
  
  public static int loadSound(Activity a, AssetManager m, String filename) {
    if (pool == null)
      pool = new SoundPool(1, AudioManager.STREAM_MUSIC, 0);
    if (pool == null)
      throw new RuntimeException("SoundPool failed to load. [Sound.java, line 14]");
    if (applicationContext == null)
      applicationContext = a.getApplicationContext();
    int id = 0;
    try {
      id = pool.load(m.openFd(filename), 1);
    }
    catch (IOException e) {
      e.printStackTrace();
    }
    if (id == 0)
      throw new RuntimeException("Sound file not loaded properly.");
    return id;
  }
  
  public static void play(int i) {
    if (pool == null)
      pool = new SoundPool(1, AudioManager.STREAM_MUSIC, 0);
    else {
      id = i;
      new Thread(new Runnable() {
        public void run() {
          SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(applicationContext);
          boolean soundFlag = preferences.getBoolean("soundCheckBox", true);
          if (soundFlag) {
            if (pool.play(id, 0.05f, 0.05f, 0, 0, 1f) == 0)
              throw new RuntimeException("Failed to play sound file, ID: " + id);
          }
        }
      }).start();
    }
  }
  
  public static void emergencyLoad(Activity a, AssetManager m) {
    if (pool != null) {
      pool.unload(Sound.jumpID);
      pool.unload(Sound.coinID);
    }
    Sound.jumpID = Sound.loadSound(a, m, "sounds/jump.wav");
    Sound.coinID = Sound.loadSound(a, m, "sounds/coin.wav");
  }
}




Java Source Code List

nttu.edu.activities.LevelSelectionActivity.java
nttu.edu.activities.MenuActivity.java
nttu.edu.activities.NewLoadingActivity.java
nttu.edu.activities.PlayActivity.java
nttu.edu.activities.ScoreActivity.java
nttu.edu.activities.SettingsActivity.java
nttu.edu.alt.NewBall.java
nttu.edu.alt.NewCue.java
nttu.edu.alt.NewHole.java
nttu.edu.alt.Obstacle.java
nttu.edu.ball.Ball.java
nttu.edu.ball.Cue.java
nttu.edu.ball.Marble.java
nttu.edu.entity.Border.java
nttu.edu.entity.Bumper.java
nttu.edu.entity.Coin.java
nttu.edu.entity.Connector.java
nttu.edu.entity.CurvePipe.java
nttu.edu.entity.Entity.java
nttu.edu.entity.Funnel.java
nttu.edu.entity.Hole.java
nttu.edu.entity.Path.java
nttu.edu.entity.Pipe.java
nttu.edu.entity.Ramp.java
nttu.edu.entity.ShortFunnel.java
nttu.edu.entity.Tee.java
nttu.edu.entity.Terrain.java
nttu.edu.entity.Void.java
nttu.edu.graphics.Art.java
nttu.edu.graphics.RenderView.java
nttu.edu.handler.Accelero.java
nttu.edu.handler.ImageInfo.java
nttu.edu.handler.Info.java
nttu.edu.handler.Loading.java
nttu.edu.handler.ModPlayer.java
nttu.edu.handler.MusicHandler.java
nttu.edu.hud.BestScore.java
nttu.edu.hud.Compass.java
nttu.edu.hud.GoalCompass.java
nttu.edu.hud.HUDMenu.java
nttu.edu.hud.HUDScore.java
nttu.edu.hud.MarbleCompass.java
nttu.edu.hud.TimeBasedScore.java
nttu.edu.level.HUD.java
nttu.edu.level.Stage.java
nttu.edu.score.Format.java
nttu.edu.score.Score.java
nttu.edu.sound.Sound.java