Youtube video player

এই পর্বে আমরা শিখবো কিভাবে ইউটিউব এর ভিডিও আমাদের অ্যাপের ভিতর ইউজ করতে পারি ।
এই জন্য একদম নতুন করে একটি প্রোজেক্ট তৈরি করুন -

এখন প্রথমেই আমাদের যে কাজটি করতে হবে - ইউটিউব নিয়ে কাজ করার জন্য ইউটিউব এর  API এর লাইব্রেরী আমাদের অ্যাপের প্রোজেক্ট এর ভিতর সংযোগ করে দিতে হবে ।

এজন্য https://developers.google.com/youtube/android/player/ লিংকে গিয়ে


এখান থেকে ডাউনলোড দিন । এরপর ডাউনলোড হওয়া ফাইলটি Extract করুন । সেখানে libs নামে ফোল্ডার পাবেন । তার ভিতরে থাকা লাইব্রেরী YouTubeAndroidPlayerApi.jar নামে জার ফাইলটি কপি করুন ।

এবার Android Studio তে ফিরে আসুন ।


উপড়ে লাল দাগ দিয়ে মার্ক করা জায়গায় Android লেখা থাকবে । মার্ক করা জায়গার ভিতরে থাকা ছোট তীর চিহ্ন তে ক্লিক করে Android এর পরিবর্তে Project সিলেক্ট করে নিন ।

এরপর আপনার Androidফাইল নাম দেখতে পাবেন ( যেমন আমার MediaPlayer ) । তার পাশের ছোট তীর চিহ্ন তে ক্লিক করে এক্সপান্ড করে প্রথমে app এরপর libs এ রাইট বাটনে ক্লিক করে  Paste এ ক্লিক করে আবার নতুন ছোট যে উইন্ডো আসবে সেখানে OK ক্লিক করুন ।

এবার আপনার অ্যাপের ভিতরে libs ফোল্ডার এ চলে আসা jar ফাইলটি তে আবার রাইট বাটনে ক্লিক করে Add As Library তে ক্লিক করুন । ছোট একটি উইন্ডো আসবে , তাতে OK ক্লিক করুন ।

তো আমরা ইউটুইব নিয়ে কাজ করার একটি ধাপ সম্পন্ন করলাম । এবার আমাদের গুগোল এপিআই কনসোল নিয়ে কাজ করতে হবে । সেজন্য এই https://console.cloud.google.com/apis/dashboard লিংকে প্রবেশ করুন । এখানে কাজ করার জন্য অবশ্যই আপনার জিমেইল একাউন্ট দিয়ে লগইন অবস্থায় থাকতে হবে ।

প্রথম বার প্রবেশ করার সময় তাদের সাথে টার্মস এবং সার্ভিসের সাথে আপনাকে একাত্রতা জানাতে বলবে ।

প্রথম অপশন আপনার ইচ্ছামত দিয়ে দ্বিতীয়টি ইয়েস বাটন সিলেক্ট করে ACCEPT এ ক্লিক করুন ।

আপনি যদি একদন নতুন হিসেবে গুগোলের এই সার্ভিস ব্যাবহার করে থাকেন তাহলে নিচের লাল দাগ অংশে লেখা থাকবে Select A Project  । সেখানে ক্লিক করুন -

তাহলে যে উইন্ডো আসবে -

এখানে + চিহ্ন তে ক্লিক করুন । এরপর -
এখানে আপনার ইচ্ছামত প্রোজেক্ট নাম দিয়ে Create এ ক্লিক করুন । তো প্রোজেক্ট তৈরি হয়ে গেল 😊

এরপর Credentials এ ক্লিক করে নিচের ছবিতে দেয়া Create এ ক্লিক করুন 😊

এরপর (নিচের ছবিতে) প্রোজেক্ট নাম দিয়ে ক্রিয়েট এ ক্লিক করুন  । এখানে আপনি ইচ্ছামত যে কোন নাম দিতে পারেন

এরপর Create Credentials এ ক্লিক করে API Key তে ক্লিক করুন


এবার CLOSE এ ক্লিক করুন -

এরপর API Key 1 এ ক্লিক করুন

এখান থেকে চাইলে আপনি আপনার API key এর Name বদলে দিতে পারেন । নিচের ছবিতে দেখুন Name লেখা বক্স আছে ।

তো প্রথমে যেটা করতে হবে Key restriction টি Android apps এ রাখতে হবে । তাহলে নিচে +Add package name and fingerprint নামে অপশন আসবে , সেখানে ক্লিক করতে হবে । তাহলে তার উপর যে দুটি বক্স আসবে তার প্রথমটি তে আপনার Android apps এর প্রোজেক্ট নামটি দিতে হবে ।এজন্য Android Studio তে গিয়ে MainActivity.java তে একদম উপরের লাইনটি package নাম-টি কপি করুন । নামটি এরকম  com.example.use.আপনার প্রোজেক্ট নাম । পুরোটাই কপি করে প্রথম বক্সে Paste করুন , ; চিহ্নটি আবার কপি করবেন নাহ 😜
দ্বিতীয় বক্সে SHA-1 certificate fingerprint দিতে হবে ।


 এজন্য আবার Android Studio তে গিয়ে । প্রথমে ডান পাশে থাকা Gradle এ ক্লিক করুন । এরপর আপনার প্রোজেক্ট নাম দেখাবে , সেটাতে ক্লিক করে Tasks -> android -> signingReport এ ডাবল ক্লিক করুন কিংবা রাইট বাটনে ক্লিক করে প্রথম অপশনটি তে ক্লিক করুন ।  একটু সময় নিবে রান হতে । শেষ হলে নিচের Gradle Console এ ক্লিক করে উপড়ে স্ক্রল করলেই SHA1 নাম্বারটি পাবেন । পুরো নাম্বারটি কপি করে উপরের ছবিতে থাকা দ্বিতীয় বক্সে Paste করে Save এ ক্লিক করুন 😊


সেভ করার পর আবার API key তে ঢুকুন । আবারো উপরের উইন্ডো আসবে । সেখান থেকে উপরের ছবিতে লাল দাগ দিয়ে চিহ্নিত করা API key টি কপি করুন । কপি করে কোন টেক্স ফাইলে রেখে দিন । এটা নিয়ে পরে আমরা কাজ করবো ।

এখন চলুন আমাদের অ্যাপে ইউটিউব ভিডিও চালানোর ডিজাইনটা করা যাক । Android Studio এর activity_main.xml এ চলে আসুন -

 <?xml version="1.0" encoding="utf-8"?>  
 <android.support.constraint.ConstraintLayout  
   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="com.example.user.mediaplayer.MainActivity">  
   <view  
     android:layout_width="match_parent"  
     android:layout_height="wrap_content"  
     class="com.google.android.youtube.player.YouTubePlayerView"  
     android:id="@+id/Youtubeview"  
     />  
 </android.support.constraint.ConstraintLayout>  

খুব সিম্পল ডিজাইন । view নামে ট্যাগ নিন । width, height ও id দিয়ে দিন । এরসাথে class নামে ট্যাগ টা নিন । সেখানে  YoutubePlayerView দিয়ে দিন 😊

এবার MainActivity.java তে আসুন -

 public class MainActivity extends YouTubeBaseActivity {  
   YouTubePlayerView youTubePlayerView;  
   YouTubePlayer.OnInitializedListener onInitializedListener;  
   private static final String API_Key = "AIzaSyA9jEYUiPjDcHpDEPdQ3XNUbyydaHxMOUA" ;  

YoutubePlayerView এর ইন্সট্যান্স তৈরি করলাম । এরপর ইউটিউব নিয়ে কাজ করতে YoutubePlayer ক্লাসের সাথে OnInitializedListener ম্যাথড নিয়ে কাজ করতে হবে । তাই তাই ইন্সট্যান্স তৈরি করলাম ।
এরপরের লাইনে আমাদের যে API Key টি ছিল সেটি এখানে String ভ্যারিয়েবল তৈরি করে , তার ভিতরে রাখুন । ভ্যারিয়েবলটি স্ট্যাটিক ও ফাইনাল ভাবে নিন । এটি তো আর চেঞ্জ হচ্ছে নাহ 😊

     youTubePlayerView = findViewById(R.id.Youtubeview);  
     onInitializedListener = new YouTubePlayer.OnInitializedListener() {  
       @Override  
       public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) {  
          youTubePlayer.loadVideo("m3JNNkaa1mA");  
       }  
       @Override  
       public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) {  
       }  
     };  

onCreate ম্যাথডের ভিতর প্রথমে ভিউ এর সাথে YoutubePlayerView যোগ করলাম । এরপর যে ম্যাথড নিয়ে আমাদের কাজ করতে হবে সেটা হল OnInitializedListener । এজন্য  OnInitializedListener = new YoutubePlayer. দিয়ে OnIni লিখলেই দেখবেন ম্যাথডটি চলে আসছে । ম্যাথড টি চলে আসলে Enter বাটন ক্লীক করুন ।  একদম শেষের } এর পর দেখবেন ; মিসিং আছে । তাই ; - সেমিকোলন দিয়ে দিন ।

এবার প্রথম ম্যাথডের ভিতর

            youTubePlayer.loadVideo("এখানে যে ভিডিও প্লে করতে চান সেটির URL এর id নাম্বারটি দিন । যেমন URL যদি এটি হয় https://www.youtube.com/watch?v=m3JNNkaa1mA তাহলে m3JNNkaa1mA দিবেন ");

এরপরে YoutubePlayerView.initialize() ম্যাথডের ভিতর প্রথমে API Key যে String ভ্যারিয়েবল এর ভিতরে রাখা হইছে সেই ভ্যারিয়েবলটি , এরপরে YoutubePlayer.OnInitializedListene এর যে ইন্সট্যনাস তৈরি করা হইছে সেটি দিয়ে দিন ।

     youTubePlayerView.initialize(API_Key,onInitializedListener);  
   }  
 }  

তাহলে আমাদের MainActivity.java এর ফুল জাভা কোডটি যা দাঁড়ালো -

 package com.example.user.mediaplayer;  
 import android.media.MediaPlayer;  
 import android.support.v7.app.AppCompatActivity;  
 import android.os.Bundle;  
 import android.widget.VideoView;  
 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.YouTubePlayerView;  
 public class MainActivity extends YouTubeBaseActivity {  
   YouTubePlayerView youTubePlayerView;  
   YouTubePlayer.OnInitializedListener onInitializedListener;  
   private static final String API_Key = "AIzaSyA9jEYUiPjDcHpDEPdQ3XNUbyydaHxMOUA" ;  
   @Override  
   protected void onCreate(Bundle savedInstanceState) {  
     super.onCreate(savedInstanceState);  
     setContentView(R.layout.activity_main);  
     youTubePlayerView = findViewById(R.id.Youtubeview);  
     onInitializedListener = new YouTubePlayer.OnInitializedListener() {  
       @Override  
       public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) {  
          youTubePlayer.loadVideo("m3JNNkaa1mA");  
       }  
       @Override  
       public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) {  
       }  
     };  
     youTubePlayerView.initialize(API_Key,onInitializedListener);  
   }  
 }  

ব্যাস এবার প্রজেক্টটি রান করুন 😊😊😊

মন্তব্যসমূহ

এই ব্লগটি থেকে জনপ্রিয় পোস্টগুলি

Spinner View - 11 ( Android Bangla Tutorial)

Toggle Button - 10 ( Android Bangla Tutorial)

LineaLayout ( Android Bangla Tutorial -5)