在 Android TV 中使用 Youtube API

Posted

技术标签:

【中文标题】在 Android TV 中使用 Youtube API【英文标题】:Use Youtube API in Android TV 【发布时间】:2016-07-11 02:54:03 【问题描述】:

我想在我的 android TV APP 中播放 youtube 视频。 我还在开发 Android 手机/平板电脑应用程序,并且能够使用 Youtube Android API 播放视频。 但是当我尝试在 Android TV 上使用相同的 API 时,它给了我一个错误(“除非您更新 YouTube,否则此应用将无法运行”),但我的 youtube 已更新。

我在 YouTube Android Player API 问题跟踪器中发现了this 问题,这与我在这里遇到的问题相同,所以我想知道是否有人有解决方案,或者知道可能工作的 API 的另一个版本.我正在使用 YouTube Player Android API v1.2.2。

我知道我可以通过 Intent 打开 youtube,但我需要使用 YouTube API 来显示视频。

【问题讨论】:

【参考方案1】:

YouTube 播放 API 可能无法在 Android TV 上运行,但您始终可以在应用内实现自己的播放机制。看看 YouTube 的网络播放器 API:https://developers.google.com/youtube/iframe_api_reference

您可以在应用中加载 WebView,然后添加 iframe 和 JS 逻辑以与您的控制器集成。

要在您的 JS 和 Java 代码之间进行交互,请查看如下项目:https://github.com/Fleker/WebGameBridge.js 了解如何使用 WebView API。

在获取数据方面,您还可以通过 WebView 访问用于此的 Web API。

【讨论】:

【参考方案2】:

我创建了YoutubeTV library,这是YouTube Player API Reference for iframe Embeds 的包装器

它提供了一个 YoutubeTvView 嵌入了一个 Webview 与 Youtube iframe 以及从此视图中可用的所有 javascript API。

另外,YoutubeTvFragment 拥有一个带有媒体控制栏的YoutubeTvView (PlaybackOverlayFragment)

【讨论】:

【参考方案3】:

我和你有同样的理解。 YouTube API 仅适用于智能手机 YouTube 应用,不适用于 Android TV YouTube 应用。 我认为如果您正在考虑发布 Android TV 应用程序,您现在不能使用除 Intent 之外的 YouTube Player Android API。因为您应该期望用户安装 Android TV YouTube 应用。

供参考,

总结了 YouTube Android Player API 的当前行为here。 Source code 使用 YouTube Intent 在 Android TV 中播放 YouTube 视频。

【讨论】:

这不是在电视中播放视频的正确解决方案。我们应该使用 Bertrand Martel 和 Nick Felker 回答中提到的 Youtube IFrame API。

以上是关于在 Android TV 中使用 Youtube API的主要内容,如果未能解决你的问题,请参考以下文章

Android TV 嵌入式 youtube 1080p

如何在 Android TV 中创建 Youtube 主题子标题?

Nexus Player (Android TV) YouTubeAndroidPlayerApi 错误:“初始化 YouTube 播放器时出错。”

sh 在arte.tv中搜索Arte Mediathek中的内容。返回要在youtube-dl中使用的视频的网址

Display.getSupportedModes() 在 4K Android TV 上仅返回 1080p 显示模式

TOEFL TV: The Official TOEFL iBT Channel TOEFL 官方Youtube账号