3

我已经用谷歌搜索了这个。我似乎找不到从 youtube 无缝播放高质量视频的方法。

到目前为止我已经尝试过:使用具有以下内容的 webview:

    htmlstring.append("<iframe title='YouTube video player' class='youtube-player' type='text/html' width='590px' height='370px' src='http://www.youtube.com/embed/");
    htmlstring.append(wYouTubeId+"?autoplay='1' frameborder='0' allowFullScreen='1'></iframe>");
    htmlstring.append("</center></body></html>");           
    webView.loadData(htmlstring.toString(), "text/html", "utf-8");

这一直工作正常,但由于某种原因不能在 android 4 上运行(注和 S3 测试)

所以我尝试了这个对象版本:

    htmlstring.append("<object width='480' height='330'><param name='movie' value='http://www.youtube.com/v/"+wYouTubeId+"?version=3&amp;hl=pt_BR&amp;rel=0'>");   
    htmlstring.append("</param><param name='allowFullScreen' value='true'></param>");
    htmlstring.append("<param name='allowscriptaccess' value='always'></param>");
    htmlstring.append("<embed src='http://www.youtube.com/v/"+wYouTubeId+"?version=3&amp;hl=pt_BR&amp;rel=0' ");
    htmlstring.append("type='application/x-shockwave-flash' width='480' height='330' allowscriptaccess='always' allowfullscreen='true' /></object>");
    webView.loadData(htmlstring.toString(), "text/html", "utf-8");

那里也没有欢乐。它只是旋转,然后发出一个蓝色的乐高积木。不过,这些方法适用于 Android 2.2。

然后我尝试了这个:

mp.setDataSource("http://www.youtube.com/v/"+wYouTubeId);
mp.prepare();
mp.start();

我还尝试使用频道提要中的直接 rtsp 链接进行此操作,但它们的质量太低而无法使用。当我看到大量版本时,我如何判断哪个版本是高质量的。

我也尝试过使用 VideoView 手动执行此操作,但我遇到了同样的问题。

很多人推荐使用这个:

 startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(fileListItem.getLink())));

但这不是一种选择,除非有一种方法可以在没有文字的情况下无缝地以横向方式启动 youtube 应用程序。(我们的客户不想要它)。

在我看来,Android 是一个谷歌系统,Youtube 是一个谷歌系统,但在 iOS(甚至是 iOS6!)上似乎很容易实现视频。为什么在“google”android上播放“google”视频这么难?

4

1 回答 1

0

这将是公开发布时的最佳方法:https ://developers.google.com/events/io/sessions/gooio2012/120/ (我无法分享有关其可用性的任何具体日期)。

与此同时,使用嵌入可能会让你最接近你想要的。当你尝试它时,它具体有什么问题?您能否提交一个带有问题描述的错误,包括您尝试播放的视频 ID?

于 2012-09-28T15:32:31.473 回答