All pastes #44232 Raw Edit

Anonymous

public text v1 · immutable
#44232 ·published 2006-03-02 16:25 UTC
rendered paste body
static Player[] sound_players;

static Player sound_player;

final static byte sound_menu = 0;
final static byte sound_finish = 1;
final static byte sound_start1 = 2;
final static byte sound_start2 = 3;
final static byte sound_game = 4;
final static byte sound_zipper = 5;

static void sound_init()
{
try
{
sound_players = new Player[ 6 ];

sound_init_player( sound_menu, "meny");
sound_init_player( sound_finish, "finish");
sound_init_player( sound_start1, "start1-3");
sound_init_player( sound_start2, "start4");
sound_init_player( sound_game, "track");
sound_init_player( sound_zipper, "zippers");

}
catch( Exception e)
{
System.out.println(e.getMessage());
}
}

static void sound_init_player( byte id, String name )
{
Player p = null;
try
{
byte[] data;
InputStream is = Std.open("/sound/"+name+".mid");

p = Manager.createPlayer(is, "audio/midi");

p.realize();

if( id == sound_menu || id == sound_game )
p.setLoopCount( -1 );
else
p.setLoopCount( 1 );

sound_players[ id ] = p;

}
catch(Exception e)
{
Game.debug( "start:"+e.getMessage() );
}
}

static void sound_play( byte id )
{
Player player;

if(Std.sound_on)
{
try
{
player = sound_player;

int state;

if( player != null )
{
player.stop();
state = player.getState();
if( state == Player.PREFETCHED || state == Player.STARTED ) player.deallocate();
}

player = sound_players[ id ];

state = player.getState();
if( state == Player.PREFETCHED || state == Player.STARTED ) player.deallocate();
state = player.getState();
if( state == Player.REALIZED ) player.prefetch();
state = player.getState();
if( state == Player.PREFETCHED ) player.start();

sound_player = player;

}
catch(Exception e)
{
Game.debug( "play:"+e.getMessage() );
}
}
}