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 এ চলে আসুন -
খুব সিম্পল ডিজাইন । view নামে ট্যাগ নিন । width, height ও id দিয়ে দিন । এরসাথে class নামে ট্যাগ টা নিন । সেখানে YoutubePlayerView দিয়ে দিন 😊
এবার MainActivity.java তে আসুন -
YoutubePlayerView এর ইন্সট্যান্স তৈরি করলাম । এরপর ইউটিউব নিয়ে কাজ করতে YoutubePlayer ক্লাসের সাথে OnInitializedListener ম্যাথড নিয়ে কাজ করতে হবে । তাই তাই ইন্সট্যান্স তৈরি করলাম ।
এরপরের লাইনে আমাদের যে API Key টি ছিল সেটি এখানে String ভ্যারিয়েবল তৈরি করে , তার ভিতরে রাখুন । ভ্যারিয়েবলটি স্ট্যাটিক ও ফাইনাল ভাবে নিন । এটি তো আর চেঞ্জ হচ্ছে নাহ 😊
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 এর যে ইন্সট্যনাস তৈরি করা হইছে সেটি দিয়ে দিন ।
তাহলে আমাদের MainActivity.java এর ফুল জাভা কোডটি যা দাঁড়ালো -
ব্যাস এবার প্রজেক্টটি রান করুন 😊😊😊
এই জন্য একদম নতুন করে একটি প্রোজেক্ট তৈরি করুন -
এখন প্রথমেই আমাদের যে কাজটি করতে হবে - ইউটিউব নিয়ে কাজ করার জন্য ইউটিউব এর 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);
}
}
ব্যাস এবার প্রজেক্টটি রান করুন 😊😊😊
মন্তব্যসমূহ
একটি মন্তব্য পোস্ট করুন