我用Google搜索并用Google搜索。我似乎找不到从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");
这一直运行良好,但由于某种原因(注意和S3测试)不在android 4上
所以我尝试了这个对象版本:
htmlstring.append("<object width='480' height='330'><param name='movie' value='http://www.youtube.com/v/"+wYouTubeId+"?version=3&hl=pt_BR&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&hl=pt_BR&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();
我也尝试过使用频道Feed中的直接rtsp链接,但它们的质量太低而无法使用。我怎么知道哪个版本是高质量的版本,因为我看到了它们的负载。
我也试过用VideoView手动完成它,但我遇到了同样的问题。
很多人建议使用它:
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(fileListItem.getLink())));
但这不是一个选项,除非有一种方法可以在没有文本的情况下无缝地启动youtube应用程序。 (我们的客户不想要它。)
我觉得奇怪的是,Android是一个谷歌系统,Youtube是一个谷歌系统,但在iOS(甚至iOS6!)上似乎很容易实现视频。 为什么在“google”android上播放“谷歌”视频太难了?
答案 0 :(得分:0)
这是公开发布时的最佳方法:https://developers.google.com/events/io/sessions/gooio2012/120/(我无法分享有关其可用性的具体日期)。
与此同时,使用嵌入可能会让你最接近你想要的。你试过的时候有什么具体的破解?你可以file a bug描述问题,包括你试图播放的视频ID吗?