有关流媒体播放

wfl5841314 2010-05-12 11:23:21
最近在做一个流媒体播放的东西,Darwin Streaming Server已经弄好了,运行的时候可以看到RTP数据包的传送,可是不能在WTK模拟播放出来,为什么?
这是一部分代码:

import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
import javax.microedition.media.*;
import javax.microedition.media.control.*;

public class StreamingVideo extends MIDlet implements CommandListener, PlayerListener, Runnable{


private Display myDisplay;
private Form myForm;

private Thread streamingThread;
private Player myPlayer;
private VideoControl vc;
private boolean running=false;

public StreamingVideo() {
myDisplay = Display.getDisplay(this);
myForm=new Form ("Streaming Test");
myForm.addCommand(new Command("Exit", Command.EXIT,0));
myForm.addCommand(new Command("Start", Command.OK,0));
myForm.setCommandListener(this);
}


protected void startApp() throws MIDletStateChangeException {
myDisplay.setCurrent(myForm);
streamingThread = new Thread(this);
}

protected void pauseApp() {}

protected void destroyApp(boolean unconditional) {
try {
myPlayer.stop();
myPlayer.close();
}
catch( Exception e ) {
log("Exception: " + e.toString());
}
}

/**
* Inits and starts the Player for Video Streaming
*/
private void startStreaming(){
try{
myPlayer = Manager.createPlayer("rtsp://localhost:554/sample_100kbit.mov");
myPlayer.addPlayerListener(this);
myPlayer.realize();
// Grab the video control and set it to the current display.
vc = (VideoControl)myPlayer.getControl("VideoControl");
if (vc != null) {
myForm.append((Item)vc.initDisplayMode(vc.USE_GUI_PRIMITIVE, null));
// sets the display size of the video.
vc.setDisplaySize(120,160);
}
myPlayer.start();

}catch(Exception e){
log("Exception: " + e.toString());
myForm.append("Exception: " + e.toString());
}

}

public void commandAction(Command c, Displayable s){
if(c.getCommandType()==Command.EXIT){
running=false;
notifyDestroyed();
}else{
streamingThread.start();
}
}


/**
* PlayerListener Interface method, logs all player event.
*/
public void playerUpdate(Player player, String event, Object eventData){
log(" ** playerUpdate: " + event + " **");

}

public void log(String msg){
System.out.println(msg);
}

public void run() {
running=true;
startStreaming();
while(running){
Thread.yield();
}
}
}
一直提示不能为rtsp://localhost:554/sample_100kbit.mov创建Player
高手指点一下,谢谢
...全文
67 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
网络咖啡 2010-05-13
  • 打赏
  • 举报
回复
手机或模拟器好像都不支持RSTP吧?
凡员外 2010-05-13
  • 打赏
  • 举报
回复
不懂。顶一下吧
wujiaojun 2010-05-13
  • 打赏
  • 举报
回复
你先用浏览器试试你的服务器是否架设成功, 否则应该是你的模拟器不支持rtsp 协议。
yuan19 2010-05-13
  • 打赏
  • 举报
回复
wtk模拟器不支持rtsp的,想支持的话,可以去Nokia下载一个模拟器的。s0的应该有些可以支持的,N97就可以的。
wfl5841314 2010-05-13
  • 打赏
  • 举报
回复
测试过了,已经架构成功了,而且运行的时候,服务器能监测到这个客户端,客户端也能显示读取的RTP包(多大,第几个),可是就是在界面上显示不出来[Quote=引用 1 楼 wujiaojun 的回复:]
你先用浏览器试试你的服务器是否架设成功, 否则应该是你的模拟器不支持rtsp 协议。
[/Quote]

13,100

社区成员

发帖
与我相关
我的任务
社区描述
Java J2ME
社区管理员
  • J2ME社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧