在Android上显示实时UDP或RTP流(多播)

在Android上显示实时UDP或RTP流(多播),第1张

概述我几周以来一直是 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 我几周以来一直是 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播放器,PlayStore)读取它,它运行良好,所以我认为我的愚蠢问题不是由于广播.

我看到可以通过不同的方式向用户显示视频内容:

>在ACTION_VIEW中使用新的Intent,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 VM07-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: main07-11 00:25:58.129: E/AndroIDRuntime(2659): java.lang.IllegalStateException: Could not execute method of the activity07-11 00:25:58.129: E/AndroIDRuntime(2659):     at androID.vIEw.VIEw.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.InvocationTargetException07-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.onClick(VIEw.java:2139)07-11 00:25:58.129: E/AndroIDRuntime(2659):     ... 11 more07-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 more07-11 00:26:00.079: I/Process(2659): Sending signal. PID: 2659 SIG: 9

我的理解是错误InvocationTargetException,通常是由于类名的错误,无法在这里直接解决,因为我没有在startActivity中调用任何类.但是我觉得我的语法不正确,也许这个方法不适合使用.当然,如果我取消注释setDataAndType行,它会显示相同的错误.

当我启动我的隐含意图时,我注意到了错误.

>我的第二个问题是Daroon Player在我的机顶盒上运行良好,我可以在电视上看到我的流.但是当我尝试从Eclipse模拟器启动它时,即使我可以从VLC播放它也不会播放…模拟器是否足够强大,可以读取这些流?

我希望你有一些关于如何解决这个问题的线索! 总结

以上是内存溢出为你收集整理的在Android上显示实时UDP或RTP流(多播)全部内容,希望文章能够帮你解决在Android上显示实时UDP或RTP流(多播)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1126631.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存