我想在我的 Android TV 应用程序上显示一些 YouTube 视频,我试图移植一些我已经在手机上工作的东西,但是我使用 YouTube Android API 播放器,这似乎不适用于 Android TV。
我发现了这个https://code.google.com/p/gdata-issues/issues/detail?id=6998所以看起来我并不孤单。
我添加了一个 WebView,我可以显示一个视频,但我无法获得全高清分辨率,嵌入视频可以吗?
我想在我的 Android TV 应用程序上显示一些 YouTube 视频,我试图移植一些我已经在手机上工作的东西,但是我使用 YouTube Android API 播放器,这似乎不适用于 Android TV。
我发现了这个https://code.google.com/p/gdata-issues/issues/detail?id=6998所以看起来我并不孤单。
我添加了一个 WebView,我可以显示一个视频,但我无法获得全高清分辨率,嵌入视频可以吗?
YouTube Player Full API 在 Android TV 上不可用,但开发人员目前可以使用 YouTube Intent,如下所示。
String videoId = "dQw4w9WgXcQ";
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("vnd.youtube:" + videoId));
intent.putExtra("force_fullscreen", true);
intent.putExtra("finish_on_ended", true);
startActivity(intent);
这将使用 YouTube 应用播放视频。force_fullscreen=true 删除对相关视频的导航,而 finish_on_ended=true 在视频完成后返回调用应用程序。
你也可以使用
Intent intent = YouTubeIntents.createPlayVideoIntentWithOptions(this, videoId, true, false);
如果您下载 YouTubeAndroidPlayerAPI:
https://developers.google.com/youtube/android/player/downloads/
并将jar文件包含在您的项目中
您只需要告诉视频 URL 以您想要的分辨率播放:
String url = "https://www.youtube.com/v/VIDEOID?version=3&vq=hd1080";
WebView myWebView = (WebView) this.findViewById(R.id.webView1);
view.loadUrl(url);
我尝试加载到 webview 中,但出现错误:
I/chromium:[INFO:CONSOLE(12)]“不支持密钥“target-densitydpi”。”,来源:https ://m.youtube.com/watch?vq=hd1080&v=VidV0n-3a_U (12)
如果我使用它,它会起作用:
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));