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:
Posting Komentar