android wifi 组播,在Android上显示实时UDP或RTP流(多播)
我已經(jīng)嘗試從播放器(Daroon播放器,PlayStore)讀取它,它運行良好,所以我認(rèn)為我的愚蠢問題不是由于廣播 .
我看到可以通過不同的方式向用戶顯示視頻內(nèi)容:
在ACTION_VIEW中使用新的Intent,Android會選擇可以查看內(nèi)容的應(yīng)用程序;
使用MediaPlayer類和VideoView .
我有兩個問題,讓我們從最重要的開始: - 對于上面的兩個解決方案,都存在一個問題:我到處讀到MediaPlayer只支持http / s和rtsp協(xié)議,是嗎?對于動作視圖,這是我之前嘗試過的:
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中調(diào)用任何類 . 但是我覺得我的語法不正確,也許這個方法不適合使用 . 當(dāng)然,如果我取消注釋setDataAndType行,它會顯示相同的錯誤 .
當(dāng)我啟動我的隱含意圖時,我注意到了錯誤 .
我的第二個問題是Daroon Player在我的機頂盒上運行良好,我可以在電視上看到我的流 . 但是當(dāng)我嘗試從Eclipse模擬器啟動它時,即使我可以從VLC播放它也不會播放...模擬器是否足夠強大,可以讀取這些流?
我希望你有一些關(guān)于如何解決這個問題的線索! :)
總結(jié)
以上是生活随笔為你收集整理的android wifi 组播,在Android上显示实时UDP或RTP流(多播)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php环境苹果搭建,mac下搭建php环
- 下一篇: c++ linux 环境,C++ 环境设