API YouTube youtube воспроизводит двух или более игроков Youtube в одном основном действии

Используя Android Youtube api, я хочу воспроизвести два видео в основной деятельности приложения без использования фрагмента, у нас есть одна и та же проблема с этими несколькими игроками Youtube в одном действии, но у нас нет приемлемых ответов, но, пожалуйста, помогите нам.

activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <com.google.android.youtube.player.YouTubePlayerView android:id="@+id/video1" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <com.google.android.youtube.player.YouTubePlayerView android:id="@+id/video2" android:layout_width="wrap_content" android:layout_height="wrap_content" /> 

 MainActivity.java package com.apps.you; import android.os.Bundle; import com.google.android.youtube.player.YouTubeBaseActivity; import com.google.android.youtube.player.YouTubeInitializationResult; import com.google.android.youtube.player.YouTubePlayer; import com.google.android.youtube.player.YouTubePlayer.Provider; import com.google.android.youtube.player.YouTubePlayerView; public class MainActivity extends YouTubeBaseActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ((YouTubePlayerView) findViewById(R.id.video1)).initialize("AIzaSyBmb9Yqu9vEBXjNOrBmZZ__6s12RH5RSv0", new YouTubePlayer.OnInitializedListener() { @Override public void onInitializationSuccess(Provider provider1, YouTubePlayer player1, boolean restored1) { if (!restored1) { player1.cueVideo("Daa38ruXHxE"); } } @Override public void onInitializationFailure(Provider provider1, YouTubeInitializationResult result1) { } }); ((YouTubePlayerView) findViewById(R.id.video2)).initialize("AIzaSyBmb9Yqu9vEBXjNOrBmZZ__6s12RH5RSv0", new YouTubePlayer.OnInitializedListener() { public void onInitializationSuccess(Provider provider, YouTubePlayer player, boolean restored) { if (!restored) { player.loadVideo("ctQAPiojDKE"); } } public void onInitializationFailure(Provider provider, YouTubeInitializationResult result) { } }); } } 

Проблема в том, что в конце было только одно видео, инициализация видео1 была перегружена инициализацией видео2, которую они называют тем же

  .initialize(new YouTubePlayer.OnInitializedListener(){}); 

этим:

 ((YouTubePlayerView) findViewById(R.id.video1)).initialize(new YouTubePlayer.OnInitializedListener(){}); ((YouTubePlayerView) findViewById(R.id.video2)).initialize(new YouTubePlayer.OnInitializedListener(){}); 

Solutions Collecting From Web of "API YouTube youtube воспроизводит двух или более игроков Youtube в одном основном действии"

Может быть, тривиальный ответ. Но для вашего прецедента приемлемо вызывать init второго игрока YouTube с успешным обратным вызовом первого? Ты это пробовал? Это должно быть разумным обходным решением.

Но может быть уловка, которая расширяет YouTubeBaseActivity. Я искал документацию, и похоже, что из-за привязки между ними может быть только один YouTubeView для каждого действия.

Поэтому я могу предложить другой совет, вместо этого используйте YouTubePlayerFragment или SupportYouTubePlayerFragment. Он должен иметь собственный жизненный цикл (не проверен).

Чтобы достичь двух или более игроков YouTube на одном мероприятии, вам нужно использовать YouTubeThumbnailView (это ImageView), чтобы отобразить список предварительных изображений. Когда пользователь прикасается к большому пальцу, вы перенаправляете на полноэкранный видеоплеер.

Проверьте этот проект.