Game Development Reference
In-Depth Information
} catch (NotFoundException e) {
System.err.println("Music resID for idx " + midx
+ " no found");
return;
}
// Stop any playing music
if (music != null) {
music.stop();
music.release();
}
Log.d(TAG, "Starting music " + id);
// Play it
music = new AudioClip(ctx, id);
music.play();
}
Finally, the instance variable music is used to start playback. Note that music is an instance variable
of type AudioClip .
Listing 6-12. The Audio Manager for Wolf 3D
package wolf.audio;
/**
* Audio manager. Plays and caches sounds for Woldf 3D
*/
public class AudioManager {
static final String TAG = "AudioMgr";
static private AudioManager am;
// Game sound (WAVs) cache table
private volatile HashMap<String, AudioClip> mSounds
= new HashMap<String, AudioClip>();
private int MAX_CLIPS = 20;
private int mClipCount = 0;
private Context mContext;
// BG music
private AudioClip music;
/**
* AudioManager singleton getInstance
*/
static public AudioManager getInstance(Context ctx) {
if (am == null)
return new AudioManager(ctx);
Search WWH ::




Custom Search