Witam,
Mam aplikację, w której zamiast aktywności wykorzystuję fragmenty. W jednym z nich potrzebuję dodać kilka playerów z youtuba. Dotychczas udało mi się dodać tylko jeden i wszystko działa dobrze. Problem pojawia się wtedy jak chcę dodać drugi i kolejny player. Na wszystkich playerach pojawia się ten sam filmik i wszystkie playery odtwarzają go jednocześnie. Ma ktoś pomysł jak to zrobić aby każdy player odtwarzał inne video z youtuba?
Poniżej wklejam mój kod:
xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:background="#31333a"
android:layout_height="match_parent">
<FrameLayout
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:id="@+id/youtube_howtostart1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerHorizontal="true"
android:visibility="visible" >
</FrameLayout>
</RelativeLayout>
Java:
public class HowToStart extends Fragment {
private static final String API_KEY = PlayerConfig.API_KEY;
private static String vidid = "ML0KJlKsNkY";
View myView;
FrameLayout frameLayout;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
myView = inflater.inflate(R.layout.fragment_howtostart, container, false);
frameLayout = myView.findViewById(R.id.youtube_howtostart1);
final YouTubePlayerSupportFragment youTubePlayerFragment1 = YouTubePlayerSupportFragment.newInstance();
FragmentTransaction transaction1 = getChildFragmentManager().beginTransaction();
transaction1.add(R.id.youtube_howtostart1, youTubePlayerFragment1).commit();
youTubePlayerFragment1.initialize(API_KEY, new YouTubePlayer.OnInitializedListener() {
@Override
public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer player, boolean wasRestored) {
if (!wasRestored) {
player.cueVideo(vidid);
player.pause();
player.setFullscreenControlFlags(0);
player.setShowFullscreenButton(false);
}
}
@Override
public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult error) {
// YouTube error
String errorMessage = error.toString();
Toast.makeText(getActivity(), errorMessage, Toast.LENGTH_LONG).show();
Log.d("errorMessage:", errorMessage);
}
});
return myView;
}
}