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
Code:
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