我已经用谷歌搜索了这个。我似乎找不到从 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&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();
我还尝试使用频道提要中的直接 rtsp 链接进行此操作,但它们的质量太低而无法使用。当我看到大量版本时,我如何判断哪个版本是高质量的。
我也尝试过使用 VideoView 手动执行此操作,但我遇到了同样的问题。
很多人推荐使用这个:
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(fileListItem.getLink())));
但这不是一种选择,除非有一种方法可以在没有文字的情况下无缝地以横向方式启动 youtube 应用程序。(我们的客户不想要它)。
在我看来,Android 是一个谷歌系统,Youtube 是一个谷歌系统,但在 iOS(甚至是 iOS6!)上似乎很容易实现视频。为什么在“google”android上播放“google”视频这么难?