How to Play YouTube Video in Android App android studio

Play YouTube Video in  RecyclerView in android studio 3.5 


First add This dependency in (build.gradle):

implementation 'com.pierfrancescosoffritti.androidyoutubeplayer:core:10.0.5'
implementation 'com.pierfrancescosoffritti.androidyoutubeplayer:chromecast-sender:0.23'

How to Get Video Key Example Below:
https://www.youtube.com/watch?v=wTD1KP8AyUE

You may like these posts


After this:

1. activity_main.xml

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout
    android:orientation="vertical"
    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"
    tools:context=".MainActivity">

    <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/recycler_view_videos"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

</LinearLayout>

2. MainActivity.java

import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

import android.os.Bundle;
import android.widget.Toolbar;

import com.pierfrancescosoffritti.androidyoutubeplayer.core.player.YouTubePlayer;
import com.pierfrancescosoffritti.androidyoutubeplayer.core.player.listeners.AbstractYouTubePlayerListene;
import com.pierfrancescosoffritti.androidyoutubeplayer.core.player.views.YouTubePlayerView;

public class MainActivity extends AppCompatActivity {

    RecyclerView recyclerView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        String[] url_videos_code={
                "j4axHXXEfjI",
                "kJCCWtgsH_c",
                "ULhlzAWc0K8",
                "UacxMqnThZA",
                "_yI2UscjY3c",
                "XQVvDSE-YRw",
                "jS-  7aSIEJ3M","FY25rBkiA_U",
                "wYrnkafl6Es",
                "kzFYwzluzAc",
                "byhA3D-TvS0"};

        recyclerView=findViewById(R.id.recycler_view_videos);
        recyclerView.setLayoutManager(new LinearLayoutManager(this));
        recyclerView.setAdapter(new VideoAdpterClass(url_videos_code));
    }
}

3.VideoAdapterClass.java

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;

import com.pierfrancescosoffritti.androidyoutubeplayer.core.player.YouTubePlayer;
import com.pierfrancescosoffritti.androidyoutubeplayer.core.player.listeners.AbstractYouTubePlayerListener;
import com.pierfrancescosoffritti.androidyoutubeplayer.core.player.views.YouTubePlayerView;

public class VideoAdpterClass extends RecyclerView.Adapter<VideoAdpterClass.VideoViewHolder> {

    public String[] video_url;
    public class VideoViewHolder extends RecyclerView.ViewHolder
    {
        YouTubePlayerView youTubePlayerView;
        public VideoViewHolder(@NonNull View itemView) {
            super(itemView);
            youTubePlayerView=(YouTubePlayerView)itemView.findViewById(R.id.youtube_video);
            youTubePlayerView.toggleFullScreen();
        }
    }

    public VideoAdpterClass(String[] video_url) {
        this.video_url = video_url;
    }

    @NonNull
    @Override
    public VideoViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        LayoutInflater inflater=LayoutInflater.from(parent.getContext());
        View view=inflater.inflate(R.layout.videoitms, parent, false);
        return new VideoViewHolder(view);
    }

    @Override
    public void onBindViewHolder(@NonNull VideoViewHolder holder, int position) {
        final String url=video_url[position];
        holder.youTubePlayerView.addYouTubePlayerListener(new AbstractYouTubePlayerListener() {
            @Override
            public void onReady(YouTubePlayer youTubePlayer) {
                youTubePlayer.cueVideo(url,0);
            }
        });
    }

    @Override
    public int getItemCount() {
        return video_url.length;
    }

}

4. VideoPlayView.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    android:padding="10dp"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <com.pierfrancescosoffritti.androidyoutubeplayer.core.player.views.YouTubePlayerView
       android:id="@+id/youtube_video"
        app:showFullScreenButton="true"
        android:layout_width="match_parent"
        app:showYouTubeButton="true"
        app:autoPlay="false"
        app:enableAutomaticInitialization="true"
        android:layout_height="200dp"/>


</LinearLayout>


youtube video in android studio
Output Like This