4

我想在我的应用程序中播放 youtube 视频。我从 SAX Parsing 获取视频 URL。我的问题是如何在 VideoView 中播放来自 URL 的视频,而不是在 Webview 或浏览器中。

我试过这段代码:

Intent lVideoIntent = new Intent(null, Uri.parse("VIDEO URL"));
startActivity(lVideoIntent);

它显示一个带有“Internet”和“YouTube”选项的弹出屏幕。我想直接在 youtube 上播放视频。

请让我知道你的想法。任何代码或任何示例都受到高度赞赏。

4

5 回答 5

0
 Intent i = new Intent(Intent.ACTION_VIEW);
 i.setData(Uri.parse("video url"));
 VideoActivity.this.startActivity(i);
于 2013-03-08T06:22:19.593 回答
0
String videoUrl = "http://www.youtube.com/watch?v=cxLG2wtE7TM"

//split video url and get value of v ie cxLG2wtE7TM

String videoId = "cxLG2wtE7TM";
String action = Intent.ACTION_VIEW;
Uri uri = Uri.parse("vnd.youtube:" + videoId);
Intent videoIntent = new Intent(action, uri);
startActivity(videoIntent);
于 2012-09-10T06:01:32.357 回答
0

试试这种方式,它对我有用,用于播放网站上的视频

 Intent browserIntent = new Intent(Intent.ACTION_VIEW,
                        Uri.parse("http://www.youtube.com/
                           watchv=JxYSlkh1Src&feature=player_embedded"));
                 startActivity(browserIntent);
于 2012-05-02T05:26:57.063 回答
0

它正在显示一个带有“Internet”和“YouTube”的弹出屏幕

因为 ACTION_VIEW 意图是在默认浏览器和 Youtube 应用程序中编写的。这就是为什么无论何时它捕获浏览器打开的 URL 以及无论何时打开 Youtube URL 浏览器和 Youtube 应用程序。

我想直接在 youtube 上播放视频

获取 Youtube 视频的嵌入链接并设置其播放视频的意图。

前任:-http://www.youtube.com/embed/srMFb6zpx2Y

于 2013-12-07T10:50:18.350 回答
0

您可以尝试以下代码在Youtube应用程序中直接播放。

    Intent videoClient = new Intent(Intent.ACTION_VIEW);
            videoClient.setData(Uri.parse("https://www.youtube.com/watch?v=EwSdmxyayx0&feature=youtube_gdata"));//you can try here your own video url
            videoClient.setClassName("com.google.android.youtube", "com.google.android.youtube.PlayerActivity");
            try{
                startActivity(videoClient);
            }catch(ActivityNotFoundException excp){
                try{
                    videoClient.setClassName("com.google.android.youtube", "com.google.android.youtube.WatchActivity");
                     startActivity(videoClient);
                }catch(ActivityNotFoundException exc){
                    exc.printStackTrace();
                }
            }
于 2012-05-02T04:42:13.690 回答