如何在 Fragment 中使用 YouTube API 获取 YouTubeBaseActivity?

How to get YouTubeBaseActivity using YouTube API in Fragment?

我尝试使用 YouTubePlayerSupportFragment 在 android 上播放 YouTube 视频。

但就我而言,我必须在 youtube 播放器顶部覆盖播放按钮,所以我决定使用 YouTubeBaseActivity。

我的 class 正在扩展 BaseFragment(片段),这意味着我无法扩展 YouTubeBaseActivity。 (无法延长 2 叹息...)

  1. 有什么方法可以不扩展就获取YouTubeBaseActivity吗?

  2. 或者我可以像使用 YouTubePlayerSupportFragment 那样获取 YouTubePlayerView(如下所示)。

  3. 如果不能的话我可以只在播放器上显示播放按钮吗?? (Chromeless 风格不显示播放按钮)

public class StudentFragment extends BaseFragment{

...

public View onCreateView{

fragment1 = (YouTubeFragment) getChildFragmentManager().findFragmentById(R.id.fragment_youtube);

fragment1.setVideoId(movie_Id);

}




public class YouTubeFragment extends YouTubePlayerSupportFragment implements YouTubePlayer.OnInitializedListener{

public void setVideoId(final String videoId) {

mVideoId = videoId;

initialize(youtube_developer_key, this);

}

等...

I've tried to play youtube video on android with YouTubePlayerSupportFragment.

But in my case, I have to overlay play button on top of youtube player so Ive decided to use YouTubeBaseActivity.

这没有任何区别。您将使用 Activity and/or 片段遇到相同的行为。

My class is extending BaseFragment (Fragment) which means I can't extends YouTubeBaseActivity. ( can't extends 2 sigh...)

即使有可能,拥有一个同时扩展 Activity 和片段的 class 也没有任何意义。

Is there any method to get YouTubeBaseActivity without extending it?

or can I get YouTubePlayerView like I've done with YouTubePlayerSupportFragment ( as below).

您有两个简单的选择:要么使用 YouTubeBaseActivity + YouTubePlayerView,要么使用 YouTubeSupportFragment

If its not possible then can I display play button only on the player?? (Chromeless style doesn't show the play button)

现在我们要说的是:你不能在 YouTube 播放器上放置任何 View,否则视频播放将每秒停止。

您可以尝试对 YouTubePlayer 实例使用 STANDARD 样式(如果我没记错的话,它已经在视频上显示了一个按钮),看看是否适合您的需要。