Android Studio, Java, как воспроизвести песню при нажатии на RecycerView?

Как мне воспроизвести песню при нажатии на Лист RecycerView?
именно надо написать для onClick

public class SongAdapter extends RecyclerView.Adapter<SongAdapter.VH> {
            //Закрытый класс
            public static ArrayList<Song> songList;
            private Context context;
            SongFragment songFragment;
            protected OnClickListen myOnClickListen;


            public SongAdapter(AppCompatActivity activity, ArrayList<Song> songList, boolean b, boolean b1) {
                this.songList = songList;
                this.context = context;
                this.songFragment = songFragment;



            }


            @NonNull
            @Override
            public VH onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {

                // список через класс LayoutInflater

                View v = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.song_list, viewGroup, false);
                VH vh = new VH(v, myOnClickListen);
                return vh;


            }

            @Override
            public void onBindViewHolder(@NonNull VH holder, int position) {


                Song song = songList.get(position);

                if ( song != null ) {
                    holder.titl.setText(song.title);
                    holder.arts.setText(song.artistName);
                    ImageLoader.getInstance().displayImage(getImage(song.albumId).toString(), holder.imagView,
                            new DisplayImageOptions.Builder().cacheInMemory(true).showImageOnLoading(R.drawable.note3)
                                    .resetViewBeforeLoading(true).build());


                }


            }

            public static Uri getImage(long albumId) {
                return ContentUris.withAppendedId(Uri.parse("content://media/external/audio/albumart"), albumId);
            }


            @Override
            public int getItemCount() {
                return songList.size();
            }




            public class VH extends RecyclerView.ViewHolder implements View.OnClickListener {

                public SquareImageView imagView;
                public TextView titl, arts;
              
                public VH(@NonNull View itemView, OnClickListen onClickListen) {
                    super(itemView);

                    imagView = itemView.findViewById(R.id.songthumb);
                    titl = itemView.findViewById(R.id.sogname);
                    arts = itemView.findViewById(R.id.artistname);
                    this.onClickListen = onClickListen;
                    itemView.setOnClickListener(this);

                }

                @Override
                public void onClick(View v) {



                }
            }
            }

Так а проблема в чем именно?

Если с обработкой клика, то вот куча примеров:

А если и с самим воспроизведением, то это только вам известно что там у вас в Song и как оно должно воспроизводиться.

структура Song


package com.ulan.colortunes.models;
public class Song implements Comparable<Song>{
    public final long id;
    public  final  String title;
    public  final  long albumId;
    public  final String albumName;
    public  final long artistId;
    public  final  String artistName;
    public final  int duration;
    public final int trackNumber;
    public int getTitle;

    public Song() {
        id = -1;
        title = "";
        albumId = -1;
        albumName = "";
        artistId = -1;
        artistName = "";
        duration = -1;
        trackNumber = -1;
    }

    public Song(long id, String title, long albumId, String albumName, long artistId, String artistName, int duration, int trackNumber) {
        this.id = id;
        this.title = title;
        this.albumId = albumId;
        this.albumName = albumName;
        this.artistId = artistId;
        this.artistName = artistName;
        this.duration = duration;
        this.trackNumber = trackNumber;
    }

    public static Song EMPTY() {
        return null;
    }

    public String getTitle() {
        return null;
    }

    public String getData() {
        return null;
    }

    public String getBookmark() {
        return null;
    }

    public String getName() {
        return title;
    }

    @Override
    public int compareTo(Song o) {
        return getName().compareTo(o.getName());
    }
}

Так из этого кода непонятно какие данные тут хранятся и как их можно использовать для воспроизведения. Где что-нибудь типа пути файла с песней?

Вообще примеров создания аудио плееров тоже полно, например: