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
我喜欢在 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