【问题标题】:Video View not playing youtube video视频视图不播放 youtube 视频
【发布时间】:2011-03-02 00:28:22
【问题描述】:

我正在尝试在视频视图中播放 youtube 视频。

我已经像这样布置了xml:

<VideoView 
            android:id="@+id/VideoView"
            android:layout_height="fill_parent"
            android:layout_width="fill_parent" 
            />

代码是这样的:

setContentView(R.layout.webview);
        VideoView vv = (VideoView) findViewById(R.id.VideoView);                        
        MediaController mc=new MediaController(this);
        mc.setEnabled(true);
        mc.show(0);
        vv.setMediaController(mc); 
        vv.setVideoURI(Uri.parse("http://www.youtube.com/watch?v=XS998HaGk9M"));
        vv.requestFocus();
        vv.showContextMenu();
        vv.start();  

我已在清单中添加了权限。当我加载应用程序时,会出现一个对话框,说明无法播放视频。

我将不胜感激任何关于此的建议。谢谢

【问题讨论】:

    标签: android android-videoview


    【解决方案1】:

    您为视频指定了错误的 URI。 http://www.youtube.com/watch?v=XS998HaGk9M是网页,但不直接是视频流

    这是正确的 URI 示例:

    rtsp://v6.cache4.c.youtube.com/CigLENy73wIaHwmh5W2TKCuN2RMYDSANFEgGUgx1c2VyX3VwbG9hZHMM/0/0/0/video.3gp
    

    此外,此地址可以从 YouTube API 获得。 例如,从这里:http://gdata.youtube.com/feeds/api/users/phonedog/uploads

    【讨论】:

    • 抱歉,我不知道如何获取此网址?我想在本地视频播放器中播放视频,而不是在你的管中。这样我就可以了。那么有可能吗?
    • 抱歉。这仅适用于 3gp。这会将每个视频转换为 3gp。有没有其他方法可以用本机播放器播放其他类型的视频。我不想让你在我的屏幕上贴标签。希望你能得到它
    【解决方案2】:

    虽然不是一个明确的答案,但我认为您需要使用 YouTube URL 启动一个意图并让操作系统处理它。也就是说,我不认为你可以将 YouTube 视频直接嵌入到你的活动中,尽管我很想被证明是错误的。

    【讨论】:

    • 虽然没有公共 api 来调用 youtube 应用程序,但您可以这样做。您应该知道这样做可能很脆弱,但很可能是您在 Android 设备上播放 youtube 视频的唯一方法。
    • 我不会说脆弱。您可以编写代码来支持它或不支持它,但这就是意图要解决的问题。启动意图并捕获任何无法处理的异常,并给出一条 sorry-you-phone-does-not-play-youtube-videos 消息。根据我的经验,几乎所有商用手机都有 YouTube 播放器。
    【解决方案3】:

    根据我的经验,Android webview 和 videoviews 不支持播放 youtube 视频。

    【讨论】:

    猜你喜欢
    • 2012-08-09
    • 2014-02-12
    • 1970-01-01
    • 2012-12-14
    • 2014-05-01
    • 2012-11-28
    • 2017-09-28
    • 2012-06-07
    • 2011-05-05
    相关资源
    最近更新 更多