3

我想在我的 Android TV 应用程序上显示一些 YouTube 视频,我试图移植一些我已经在手机上工作的东西,但是我使用 YouTube Android API 播放器,这似乎不适用于 Android TV。

我发现了这个https://code.google.com/p/gdata-issues/issues/detail?id=6998所以看起来我并不孤单。

我添加了一个 WebView,我可以显示一个视频,但我无法获得全高清分辨率,嵌入视频可以吗?

4

3 回答 3

6

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文件包含在您的项目中

于 2015-06-24T22:30:36.003 回答
0

您只需要告诉视频 URL 以您想要的分辨率播放:

String url = "https://www.youtube.com/v/VIDEOID?version=3&vq=hd1080";

WebView myWebView = (WebView) this.findViewById(R.id.webView1);

view.loadUrl(url);
于 2015-06-08T22:11:06.523 回答
0

我尝试加载到 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)));

于 2015-06-19T15:58:41.243 回答