Android - YouTube Api 播放器浮动 window 使用服务

Android - YouTube Api player on floating window using service

我喜欢在 Android 上将 YouTube 播放器实现为浮动 window(在所有应用程序之上)。

我看到很多应用都做同样的事情 like this one

并且我尝试了解如何实施它。

我试过了:

 wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
 LayoutInflater li = (LayoutInflater)getSystemService(LAYOUT_INFLATER_SERVICE);
 View vi = li.inflate(R.layout.youtube_view,null);
 YouTubePlayerView youTubeView = vi.findViewById(R.id.youtube_view);
 youTubeView.initialize(DeveloperKey.DEVELOPER_KEY, this);

但是得到这个错误:

Caused by: java.lang.IllegalStateException: A YouTubePlayerView can only be created with an Activity  which extends YouTubeBaseActivity as its context

很明显 - 因为我扩展了服务而不是 YouTubeBaseActivity

所有那些浮动的 YouTube 应用程序都使用 webview 作为播放器容器吗? 还是我错过了使用官方 Youtube Player API

更好的解决方案

他们正在使用基于 WebView 的播放器。您可以在此处找到开源实现:android-youtube-player