Mega Code Archive

 
Categories / Java Tutorial / J2ME
 

Network Player Manager

import javax.microedition.lcdui.Command; import javax.microedition.lcdui.CommandListener; import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Displayable; import javax.microedition.lcdui.Form; import javax.microedition.lcdui.List; import javax.microedition.lcdui.StringItem; import javax.microedition.media.Manager; import javax.microedition.media.Player; import javax.microedition.midlet.MIDlet; class ThreadedMIDlet extends MIDlet implements CommandListener {   private List list = new List("Press Play", List.IMPLICIT);   private Display display;   private NetworkPlayerManager mgr;   private Command cancel = new Command("Cancel", Command.CANCEL, 1);   public ThreadedMIDlet() {     list.addCommand(new Command("Exit", Command.EXIT, 1));     list.addCommand(new Command("Play", Command.SCREEN, 1));     list.setCommandListener(this);     display = Display.getDisplay(this);   }   public void startApp() {     display.setCurrent(list);   }   public void pauseApp() {   }   public void destroyApp(boolean unconditional) {   }   public void commandAction(Command cmd, Displayable disp) {     if (cmd.getLabel().equals("Exit")) {       notifyDestroyed();     } else if (cmd.getLabel().equals("Cancel")) {       mgr.cancel();       display.setCurrent(list);     } else {       try {         mgr = new NetworkPlayerManager(display, cancel, this);         Thread runner = new Thread(mgr);         runner.start();       } catch (Exception e) {         System.err.println(e);       }     }   } } public class NetworkPlayerManager implements Runnable {   private Display display;   private Form form = new Form("Network Player Manager");   private StringItem msg = new StringItem("Please Wait ... ", null);   private boolean cancel = false;   private Player player = null;   public NetworkPlayerManager(Display display, Command cancelCmd, ThreadedMIDlet parent) {     this.display = display;     form.append(msg);     form.addCommand(cancelCmd);     form.setCommandListener(parent);   }   public void run() {     display.setCurrent(form);     boolean connected = false;     try {       player = Manager.createPlayer("http://www.yoursite.com/s.wav");       player.realize();       connected = true;     } catch (Exception e) {       msg.setText("Failed: " + e.getMessage());       System.err.println(e);       return;     }     if (connected && !cancel)       msg.setText("Connected. Starting playback...");     else {       msg.setText("Unable to connect.");       return;     }     try {       player.start();     } catch (Exception pe) {       msg.setText(pe.getMessage());     }   }   public void cancel() {     cancel = true;     if (player != null)       player.deallocate();   } }