j2me播放视频
播放器不播放项目中存储的视频( res 和 src 中的文件),
public class videoplayer extends MIDlet {
Display display;
Player player;
public videoplayer() {
try{
display = Display.getDisplay(this);
InputStream is =getClass().getResourceAsStream("/a1.mpg");
player = Manager.createPlayer(is,"video/mpeg");
}catch(Exception e)
{
e.printStackTrace();
}
}
protected void startApp() {
try {
VideoControl vc;
player.realize();
vc = (VideoControl)player.getControl("VideoControl");
if(vc != null) {
Item video = (Item)vc.initDisplayMode(vc.USE_GUI_PRIMITIVE, null);
Form v = new Form("Playing Video...");
v.append(video);
display.setCurrent(v);
}
player.prefetch();
player.start();
}
catch(Exception e)
{
e.printStackTrace();
}
}
但在运行时显示以下异常。我通过将文件存储在 res 和 src 中尝试了此代码,但有相同的例外。
java.lang.IllegalArgumentException
- javax.microedition.media.Manager.createPlayer(), bci=8
- videoplayer.videoplayer.<init>(), bci=25
- java.lang.Class.newInstance(), bci=0
- com.sun.midp.main.CldcMIDletLoader.newInstance(), bci=46
- com.sun.midp.midlet.MIDletStateHandler.createMIDlet(), bci=66
- com.sun.midp.midlet.MIDletStateHandler.createAndRegisterMIDlet(), bci=17
- com.sun.midp.midlet.MIDletStateHandler.startSuite(), bci=27
- com.sun.midp.main.AbstractMIDletSuiteLoader.startSuite(), bci=52
- com.sun.midp.main.CldcMIDletSuiteLoader.startSuite(), bci=8
- com.sun.midp.main.AbstractMIDletSuiteLoader.runMIDletSuite(), bci=161
- com.sun.midp.main.AppIsolateMIDletSuiteLoader.main(), bci=26
java.lang.NullPointerException: 0
- videoplayer.videoplayer.startApp(), bci=4
- javax.microedition.midlet.MIDletTunnelImpl.callStartApp(), bci=1
- com.sun.midp.midlet.MIDletPeer.startApp(), bci=7
- com.sun.midp.midlet.MIDletStateHandler.startSuite(), bci=269
- com.sun.midp.main.AbstractMIDletSuiteLoader.startSuite(), bci=52
- com.sun.midp.main.CldcMIDletSuiteLoader.startSuite(), bci=8
- com.sun.midp.main.AbstractMIDletSuiteLoader.runMIDletSuite(), bci=161
- com.sun.midp.main.AppIsolateMIDletSuiteLoader.main(), bci=26
编辑:目录结构
The player doesn't play videos stored in project (File in res and src )
public class videoplayer extends MIDlet {
Display display;
Player player;
public videoplayer() {
try{
display = Display.getDisplay(this);
InputStream is =getClass().getResourceAsStream("/a1.mpg");
player = Manager.createPlayer(is,"video/mpeg");
}catch(Exception e)
{
e.printStackTrace();
}
}
protected void startApp() {
try {
VideoControl vc;
player.realize();
vc = (VideoControl)player.getControl("VideoControl");
if(vc != null) {
Item video = (Item)vc.initDisplayMode(vc.USE_GUI_PRIMITIVE, null);
Form v = new Form("Playing Video...");
v.append(video);
display.setCurrent(v);
}
player.prefetch();
player.start();
}
catch(Exception e)
{
e.printStackTrace();
}
}
but it shows following exceptions in run time. i tried this code by storing file in res and with src but same exceptions.
java.lang.IllegalArgumentException
- javax.microedition.media.Manager.createPlayer(), bci=8
- videoplayer.videoplayer.<init>(), bci=25
- java.lang.Class.newInstance(), bci=0
- com.sun.midp.main.CldcMIDletLoader.newInstance(), bci=46
- com.sun.midp.midlet.MIDletStateHandler.createMIDlet(), bci=66
- com.sun.midp.midlet.MIDletStateHandler.createAndRegisterMIDlet(), bci=17
- com.sun.midp.midlet.MIDletStateHandler.startSuite(), bci=27
- com.sun.midp.main.AbstractMIDletSuiteLoader.startSuite(), bci=52
- com.sun.midp.main.CldcMIDletSuiteLoader.startSuite(), bci=8
- com.sun.midp.main.AbstractMIDletSuiteLoader.runMIDletSuite(), bci=161
- com.sun.midp.main.AppIsolateMIDletSuiteLoader.main(), bci=26
java.lang.NullPointerException: 0
- videoplayer.videoplayer.startApp(), bci=4
- javax.microedition.midlet.MIDletTunnelImpl.callStartApp(), bci=1
- com.sun.midp.midlet.MIDletPeer.startApp(), bci=7
- com.sun.midp.midlet.MIDletStateHandler.startSuite(), bci=269
- com.sun.midp.main.AbstractMIDletSuiteLoader.startSuite(), bci=52
- com.sun.midp.main.CldcMIDletSuiteLoader.startSuite(), bci=8
- com.sun.midp.main.AbstractMIDletSuiteLoader.runMIDletSuite(), bci=161
- com.sun.midp.main.AppIsolateMIDletSuiteLoader.main(), bci=26
EDIT: directory structure
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
将文件放入
res
并将res
放在src
下,因此它应该是
src
\res
并
在第二个问题的代码更新
中转到
找到属性
system.jam_space
提高其值put the file into
res
and putres
undersrc
so it should be
src
\res
and in code
Update on your second issue
go to
find the property
system.jam_space
raise its value尝试在文件路径之前使用前缀
file://
。try with the prefix
file://
before the file path.