how to play automatic songs or videos from links stored in Realtime data base

Viewed 13

Hi every one i am trying to making a video player app which is getting video links from Realtime database in recycler view my app is good with me till user clicking on recycler view item. But i want if user want to play videos automatically what code / method should be done by me when user select AutoPlay then videos should play automatically on countdown timer finish method listener. Timer will set by already stored value in database which will come with video link.

   // Here is my recycler view adapter code if need more details i will provide
    
    package com.shahabtech.ytbooster;
    
  
    import androidx.annotation.NonNull;
    import androidx.constraintlayout.widget.ConstraintLayout;
    import androidx.recyclerview.widget.RecyclerView;
    
    import com.bumptech.glide.Glide;
    
    import java.util.ArrayList;
    import java.util.Random;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    
    public class ViewAdapterModel extends RecyclerView.Adapter<ViewAdapterModel.MyViewholder>
    {
        Context context;
        ArrayList<model>list;
        int Pos;
    
        private SelectListner selectListner;
        public ViewAdapterModel(Context context, ArrayList<model> list,SelectListner selectListner) {
            this.context = context;
            this.list = list;
            this.selectListner = selectListner;
    
        }
    
        @NonNull
        @Override
        public MyViewholder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
            View view = LayoutInflater.from(context).inflate(R.layout.public_video_layout,parent,false);
    
            view.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    Toast.makeText(context, "You clicked on "+Pos, Toast.LENGTH_SHORT).show();
                }
            });
            return new MyViewholder(view);
        }
    
        @Override
        public void onBindViewHolder(@NonNull MyViewholder holder, @SuppressLint("RecyclerView") int position) {
            model model =list.get(position);
            String YT_ID = getYouTubeId(model.getYT_LINK());
            holder.name.setText("Duration : "+model.getWATCH_TIME()+" Sec");
            holder.email.setText("Reward : "+model.getWATCH_TIME()+" Coins");
            String thumbnailul = "https://img.youtube.com/vi/" +YT_ID+ "/hqdefault.jpg";
            Glide.with(context).load(thumbnailul).into(holder.Public_preview);
            model.setPostion(position);
            model.setList_size(list.size());
    
            holder.constraintLayout.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
    
                   selectListner.onItemCkicked(list.get(position));
    
                }
            });
    
    
    
        }
    
        @Override
        public int getItemCount() {
            return list.size();
        }
    
        public class MyViewholder extends RecyclerView.ViewHolder{
            TextView name,email,city,mobile;
            ImageView Public_preview;
            ConstraintLayout constraintLayout;
            public MyViewholder(@NonNull View itemView) {
                super(itemView);
                name=itemView.findViewById(R.id.nametv);
                email=itemView.findViewById(R.id.emailtv);
                Public_preview=itemView.findViewById(R.id.public_preview);
                constraintLayout=itemView.findViewById(R.id.cardView);
    //            city=itemView.findViewById(R.id.citytv);
    //           mobile=itemView.findViewById(R.id.mobiletv);
    
    
            }
        }
    
        private String getYouTubeId (String youTubeUrl) {
            String pattern = "(?<=youtu.be/|watch\\?v=|/videos/|embed\\/)[^#\\&\\?]*";
            Pattern compiledPattern = Pattern.compile(pattern);
            Matcher matcher = compiledPattern.matcher(youTubeUrl);
            if (matcher.find()) {
    
                return matcher.group();
            } else {
    
                return "error";
            }
        }}
0 Answers
Related