YouTubePlayer api 问题

YouTubePlayer api issue

我在 MainActivity 中播放视频并且视频播放正常。在播放视频时,如果我再次打开相同的 activity 并返回到之前的 MainActivity,youtube 进度条会一直转动,但没有任何反应。我阅读了文档,但找不到与此问题相关的任何信息。的确,文档很旧(2015年更新),YouTubeAndroidPlayerApi库是2017年更新的。指导我正确的方向。

MainActivity.java

public class MainActivity extends YouTubeBaseActivity
    implements YouTubePlayer.OnInitializedListener {

private String YOUTUBE_API_KEY = "api_key";
private YouTubePlayerView youtubePlayerView;

@Override
protected void onCreate(Bundle bundle) {
    super.onCreate(bundle);
    setContentView(R.layout.activity_main);
    youtubePlayerView = findViewById(R.id.youtubePlayer);
    youtubePlayerView.initialize(YOUTUBE_API_KEY, this);

}

@Override
public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) {
    Log.w("youtube_activity", "onInitialization success");
    youTubePlayer.loadVideo("0KSOMA3QBU0");
}

@Override
public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) {
    Toast.makeText(this, "Initialization failure", Toast.LENGTH_SHORT);
}

public void onClick(View view) {
    startActivity(new Intent(this, MainActivity.class));
}
}

布局xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <com.google.android.youtube.player.YouTubePlayerView
        android:id="@+id/youtubePlayer"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
   </com.google.android.youtube.player.YouTubePlayerView>
   <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:onClick="onClick"
        android:text="Button" />
</LinearLayout>

找到了在转到另一个 youtubeplayer 活动时释放 YouTubePlayer 的解决方案。当回到之前的 youtubeplayeractivity 重新初始化时 YouTubePlayerView

 public void onClick(View view) {
    youTubePlayer.release();
    startActivity(new Intent(this, MainActivity.class));
}

@Override
protected void onRestart() {
    super.onRestart();
    youtubePlayerView.initialize(YOUTUBE_API_KEY, this);
}