Senin, 16 Juni 2008

Memainkan musik

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.media.*;
import javax.microedition.media.control.*;

public class PlayMusic
extends MIDlet
implements PlayerListener, CommandListener {

private Display display;
private static Player player;
private VolumeControl vc;
private List list;
private Command cmExit, cmStop;


public PlayMusic() {
display = Display.getDisplay(this);
}


public void startApp() {
cmExit = new Command("Keluar", Command.EXIT, 1);
cmStop = new Command("Stop", Command.OK, 1);
list = new List("Menu", List.IMPLICIT);
list.append("dik", null);
list.append("matta", null);
list.append("Emang Dasar", null);
list.append("midi", null);
list.addCommand(cmExit);
list.setCommandListener(this);
display.setCurrent(list);
}

public void pauseApp() {}

public void destroyApp(boolean unconditional) {
if(player != null){
player.close();
}
}

public void commandAction(Command c, Displayable s){
if (c == List.SELECT_COMMAND){
switch (list.getSelectedIndex()){
case 0:
list.addCommand(cmStop);
try {
playMedia("dik.wav", "wav");
} catch (Exception e) {
e.printStackTrace();
}
break;
case 1:
list.addCommand(cmStop);
try {
playMedia("matta.wav", "wav");
} catch (Exception e) {
e.printStackTrace();
}
break;
case 2:
list.addCommand(cmStop);
try {
playMedia("emangdasar.wav", "wav");
} catch (Exception e) {
e.printStackTrace();
}
break;
case 3:
list.addCommand(cmStop);
try {
playMedia("mid.mid", "mid");
} catch (Exception e) {
e.printStackTrace();
}
break;
}
}else if(c == cmExit){
exitMIDlet();
}else if(c == cmStop){
try{
player.stop();
if(player != null){
player.close();
}
}catch(Exception e){
}
list.removeCommand(cmStop);
}
}

public void exitMIDlet() {
destroyApp(false);
notifyDestroyed();
player = null;
}

private void playMedia(String file, String p)
throws Exception {
if(p.equals("wav")){
player = Manager.createPlayer(getClass().getResourceAsStream(file), "audio/x-wav");
}else if(p.equals("mid")){
player = Manager.createPlayer(getClass().getResourceAsStream(file), "audio/midi");

}

player.addPlayerListener(this);

player.setLoopCount(-1);
player.prefetch();
player.realize();

vc = (VolumeControl)player.getControl("VolumeControl");
if (vc != null)
vc.setLevel(100);


player.start();
}

public void playerUpdate(Player player, String event, Object eventData) {
if(event.equals(PlayerListener.STARTED) &&
new Long(0L).equals((Long)eventData)) {
} else if(event.equals(PlayerListener.CLOSED)) {
}
}
}

Tidak ada komentar: