Thanks Marvec n Graham a lot for you reply!!!
yes its wrking well with your hello world code!!
i got it now!!
can u give me sum link to download and play video files ??
this my code
Code:import java.io.*; import java.util.*; import javax.microedition.lcdui.*; import javax.microedition.midlet.*; import javax.microedition.media.*; import javax.microedition.media.control.*; public class VideoPlayer extends MIDlet implements CommandListener, PlayerListener { private Display display; private List itemList; private Form form; private Command stop, pause, start; private Hashtable items, itemsInfo; private Player player; public VideoPlayer() { display = Display.getDisplay(this); itemList = new List("Select an item to play", List.IMPLICIT); stop = new Command("Stop", Command.STOP, 1); pause = new Command("Pause", Command.ITEM, 1); start = new Command("Start", Command.ITEM, 1); form = new Form("Playing video"); form.addCommand(stop); form.addCommand(pause); form.setCommandListener(this); items = new Hashtable(); itemsInfo = new Hashtable(); items.put("SpringWaterFall...", "file://SpringWaterFall.mpg"); itemsInfo.put("SpringWaterFall...", "video/mpeg"); items.put("helloboy...", "file://helloboy.mpg"); itemsInfo.put("helloboy...", "video/mpeg"); items.put("pilgrim...", "file://pilgrim.mpg"); itemsInfo.put("pilgrim...", "video/mpeg"); items.put("pirates...", "file://pirates.mpg"); itemsInfo.put("pirates...", "video/mpeg"); items.put("pythag1...", "file://pythag1.mpg"); itemsInfo.put("pythag1...", "video/mpeg"); items.put("CarelessEnglish...", "file://CarelessEnglish.mpg"); itemsInfo.put("CarelessEnglish...", "video/mpeg"); } public void startApp() { for(Enumeration en = items.keys(); en.hasMoreElements();) { itemList.append((String)en.nextElement(), null); } itemList.setCommandListener(this); display.setCurrent(itemList); } public void pauseApp() { try { if(player != null) player.stop(); } catch(Exception e) {} } public void destroyApp(boolean unconditional) { if(player != null) player.close(); } public void commandAction(Command c, Displayable d){ if(d instanceof List) { List list = ((List)d); String key = list.getString(list.getSelectedIndex()); try { playAudio((String)items.get(key), key); } catch (Exception e) { System.err.println("Unable to play: " + e); e.printStackTrace(); } } else if(d instanceof Form){ try { if(c == stop){ player.close(); display.setCurrent(itemList); form.removeCommand(start); form.addCommand(pause); } else if(c == pause){ player.stop(); form.removeCommand(pause); form.addCommand(start); } else if(c == start){ player.start(); form.removeCommand(start); form.addCommand(pause); } } catch(Exception e) { System.err.println(e); } } } private void playAudio(String locator, String key) throws Exception { String file = locator.substring(locator.indexOf("file://") + 6,locator.length()); player = Manager.createPlayer(getClass().getResourceAsStream(file), (String)itemsInfo.get(key)); player.addPlayerListener(this); player.setLoopCount(-1); player.prefetch(); player.realize(); player.start(); } public void playerUpdate(Player player, String event, Object eventData) { if(event.equals(PlayerListener.STARTED) && new Long(0L).equals((Long) eventData)) { VideoControl vc = null; if((vc = (VideoControl)player.getControl("VideoControl")) != null) { Item videoDisp = (Item)vc.initDisplayMode(vc.USE_GUI_PRIMITIVE, null); form.append(videoDisp); } display.setCurrent(form); } else if(event.equals(PlayerListener.CLOSED)) { form.deleteAll(); } } }
i get this error wen i try to execute
Project settings saved
Building "Vp"
Build complete
Running with storage root DefaultColorPhone
Running with locale: English_United States.1252
Unable to play: java.lang.IllegalArgumentException
java.lang.IllegalArgumentException
at javax.microedition.media.Manager.createPlayer(+11)
at VideoPlayer.playAudio(+41)
at VideoPlayer.commandAction(+40)
at javax.microedition.lcdui.List.callKeyPressed(+80)
at javax.microedition.lcdui.Display$DisplayAccessor.keyEvent(+198)
at javax.microedition.lcdui.Display$DisplayManagerImpl.keyEvent(+11)
at com.sun.midp.lcdui.DefaultEventHandler.keyEvent(+127)
at com.sun.midp.lcdui.AutomatedEventHandler.keyEvent(+210)
at com.sun.midp.lcdui.DefaultEventHandler$QueuedEventHandler.handleVmEvent(+122)
at com.sun.midp.lcdui.DefaultEventHandler$QueuedEventHandler.run(+51)
Execution completed.
3455899 bytecodes executed
780 thread switches
1647 classes in the system (including system classes)
18052 dynamic objects allocated (544900 bytes)
3 garbage collections (459536 bytes collected)
i am wrking on WTK2.5 N JDK1.4.2 what could be the reason for this????
does my code or system does not support mpg files???
Thank a lot in Advance

Reply With Quote

