我已经下载了- Experiments in Streaming Content in Java ME by Vikram Goyal的代码
但是,当尝试使用模拟器运行应用程序时,在运行Darwin Stream Server之后,我得到以下错误-
Midlet->startApp
StreamingDataSource->StreamingDataSource
StreamingDataSource->getContentType
StreamingDataSource->getLocator (locator = rtsp://127.0.0.1/sample_100kbit.avi)
javax.microedition.media.MediaException: Player cannot be created for video/avi
at javax.microedition.media.Manager.createPlayer(), bci=135
- com.iprs.test.Midlet.startApp(Midlet.java:14)
at javax.microedition.midlet.MIDletTunnelImpl.callStartApp(), bci=1
at com.sun.midp.midlet.MIDletPeer.startApp(), bci=5
at com.sun.midp.midlet.MIDletStateHandler.startSuite(), bci=261
at com.sun.midp.main.AbstractMIDletSuiteLoader.startSuite(), bci=38
at com.sun.midp.main.CldcMIDletSuiteLoader.startSuite(), bci=5
at com.sun.midp.main.AbstractMIDletSuiteLoader.runMIDletSuite(), bci=144
at com.sun.midp.main.AppIsolateMIDletSuiteLoader.main(), bci=26
Midlet->destroyApp这是StartApp方法-
public void startApp() {
try {
System.out.println("Midlet->startApp");
// create Player instance, realize it and then try to start it
Player player = Manager.createPlayer(new StreamingDataSource("rtsp://127.0.0.1/sample_100kbit.avi")); //(new StreamingDataSource("rtsp://localhost:554/tuner1.wav")); //sample.mp3")); //sample_100kbit.mp4"));
player.realize();
player.start();
} catch(Exception e) {
e.printStackTrace();
}
}我尝试了一些媒体类型,但我得到了错误。如何解决这个问题?谢谢,埃亚尔。
发布于 2014-01-12 23:00:25
IP地址127.0.0.1始终指向您正在使用的设备。因此,当在MIDlet中使用时,它指向运行MIDlet的手机。换句话说,您正在尝试将文件从您的手机流式传输到您的手机。
这当然不起作用,因为你的手机上没有正在运行的网络服务器。
要使其工作,您应该找出正确的IP地址到您的服务器。
如果您的电话通过WiFi连接,您很可能会使用本地IP,例如10.0.0.x或192.168.0.x
如果你的手机是通过GPRS或3G连接的,你需要找出你的台式电脑在互联网上有什么IP地址,然后使用www.whatismyip.com之类的服务,然后你必须确保你的服务器是可访问的。换句话说,确保您的路由器允许RTSP协议使用的特定端口上的流量,并将该端口上的流量引导到您的服务器。
为了一步一步来,谷歌搜索现有的RTSP流,并首先尝试这些流,可能是一个好主意。这样,您就会知道您的JavaME代码运行良好。
据我所知,使用JavaME播放RTSP流(至少在较新的手机上)是相当简单的。应该使用标准播放器运行,不需要任何额外的类。
查看: J2ME/StreamingMedia.htm">http://www.java2s.com/Tutorial/Java/0430_J2ME/StreamingMedia.htm
您还应该能够测试某个RTSP提要是否工作,只需在手机浏览器中输入URL即可。然后,它应该启动手机的默认媒体播放器并播放该流。
https://stackoverflow.com/questions/21074940
复制相似问题