我是新来的Android的发展,因为几个星期,我需要编写一个应用程序,可以显示用户在UDP或RDP播实时流。 流位于一个地址,如“RTP://230.0.0.11:1234”,并且由WIFI由于发射到这个模块: http://www.ikusi.es/public/ctrl_public_prod.php?accion=verProducto&id_familia = 34&id_gama = 186&id_producto = 351
我已经试图从玩家阅读(Daroon球员,从Play商店中),和它的工作很好,所以我认为我的foolowing问题是不是由于广播。
我看到它可以显示视频内容通过不同的方式向用户:
使用新的意图与ACTION_VIEW和Android选择一个应用程序,可以查看内容;
使用的MediaPlayer类和VideoView。
我有两个问题,让我们先从最重要的: - 对于以上这两种解决方案,还有一个问题:我读的是无处不在的MediaPlayer只支持HTTP / S和RTSP协议,是这样吗? 而对于这里的行动的观点是什么,我尝试过:
Uri streamURL = Uri.parse("rtp://230.0.0.11:1234");
Intent streamIntent = new Intent(Intent.ACTION_VIEW);
streamIntent.setData(streamURL);
// streamIntent.setDataAndType(streamURL,"video/*");
startActivity(streamIntent);
这里是logcat的:
07-11 00:25:58.119: D/AndroidRuntime(2659): Shutting down VM
07-11 00:25:58.119: W/dalvikvm(2659): threadid=1: thread exiting with uncaught exception (group=0x40015560)
07-11 00:25:58.129: E/AndroidRuntime(2659): FATAL EXCEPTION: main
07-11 00:25:58.129: E/AndroidRuntime(2659): java.lang.IllegalStateException: Could not execute method of the activity
07-11 00:25:58.129: E/AndroidRuntime(2659): at android.view.View$1.onClick(View.java:2144)
07-11 00:25:58.129: E/AndroidRuntime(2659): at android.view.View.performClick(View.java:2485)
07-11 00:25:58.129: E/AndroidRuntime(2659): at android.view.View$PerformClick.run(View.java:9080)
07-11 00:25:58.129: E/AndroidRuntime(2659): at android.os.Handler.handleCallback(Handler.java:587)
07-11 00:25:58.129: E/AndroidRuntime(2659): at android.os.Handler.dispatchMessage(Handler.java:92)
07-11 00:25:58.129: E/AndroidRuntime(2659): at android.os.Looper.loop(Looper.java:123)
07-11 00:25:58.129: E/AndroidRuntime(2659): at android.app.ActivityThread.main(ActivityThread.java:3683)
07-11 00:25:58.129: E/AndroidRuntime(2659): at java.lang.reflect.Method.invokeNative(Native Method)
07-11 00:25:58.129: E/AndroidRuntime(2659): at java.lang.reflect.Method.invoke(Method.java:507)
07-11 00:25:58.129: E/AndroidRuntime(2659): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
07-11 00:25:58.129: E/AndroidRuntime(2659): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
07-11 00:25:58.129: E/AndroidRuntime(2659): at dalvik.system.NativeStart.main(Native Method)
07-11 00:25:58.129: E/AndroidRuntime(2659): Caused by: java.lang.reflect.InvocationTargetException
07-11 00:25:58.129: E/AndroidRuntime(2659): at java.lang.reflect.Method.invokeNative(Native Method)
07-11 00:25:58.129: E/AndroidRuntime(2659): at java.lang.reflect.Method.invoke(Method.java:507)
07-11 00:25:58.129: E/AndroidRuntime(2659): at android.view.View$1.onClick(View.java:2139)
07-11 00:25:58.129: E/AndroidRuntime(2659): ... 11 more
07-11 00:25:58.129: E/AndroidRuntime(2659): Caused by: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=rtp://230.0.0.11:1234 }
07-11 00:25:58.129: E/AndroidRuntime(2659): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1409)
07-11 00:25:58.129: E/AndroidRuntime(2659): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1379)
07-11 00:25:58.129: E/AndroidRuntime(2659): at android.app.Activity.startActivityForResult(Activity.java:2827)
07-11 00:25:58.129: E/AndroidRuntime(2659): at android.app.Activity.startActivity(Activity.java:2933)
07-11 00:25:58.129: E/AndroidRuntime(2659): at fr.infosat.tvreplay.MainActivity.listStream(MainActivity.java:35)
07-11 00:25:58.129: E/AndroidRuntime(2659): ... 14 more
07-11 00:26:00.079: I/Process(2659): Sending signal. PID: 2659 SIG: 9
我的理解是错误的InvocationTargetException,通常是由于在类名的错误,不能直接在这里解决了,因为我不调用任何类startActivity。 不过,我觉得我的语法是不正确的,也许方法是不使用正确的。 当然,如果我取消了setDataAndType线,它显示了同样的错误。
我注意到,当我启动我的意图隐含的错误来。
- 我的第二个问题是,Daroon播放效果很好对我的机顶盒,我可以看到我在电视上我的信息流。 但是,当我尝试从Eclipse的模拟器启动它,它不玩了,即使我可以从VLC播放...是模拟器强大到足以阅读这些类型的流?
我希望你对如何解决一些线索! :)