ইউটিউব অ্যান্ড্রয়েড প্লেয়ার API

ইউটিউব এন্ড্রয়েড প্লেয়ার নিয়ে সার্চ করলাম। অনেক গুলো কমপ্লেক্স টিউটোরিয়াল পেলাম। যদিও প্লেয়ার ইন্ট্রিগ্রেট করা অনেক সহজ।

ইউটিউব অ্যান্ড্রয়েড প্লেয়ার আপনার অ্যাপে যুক্ত করার জন্য YouTube Android Player API লাইব্রেরী লাগবে। লিঙ্ক থেকে ডাউনলোড করে নিতে পারবে। ফোল্ডারে লাইব্রেরীর সাথে স্যাম্পল কোড ও পাবেন। ঐ কোড গুলো অ্যান্ড্রয়েড স্টুডিওতে ইম্পোর্ট করে দেখতে পারেন। libs ফোল্ডারে YouTubeAndroidPlayerApi.jar নামে একটা ফাইল পাবেন। আপনার অ্যান্ড্রয়েড প্রজেক্টের lib ফোল্ডারে ঐ ফাইলটি কপি করুন। ফাইলটি কম্পাইল করার জন্য build.gradle ফাইলে নিচের কোড যুক্ত করুনঃ

compile files('libs/YouTubeAndroidPlayerApi.jar')

ইউটিউব থেকে কোন ভিডিও প্লে করার জন্য ইন্টারনেট লাগবে। তাই AndroidManifest.xml এ ইন্টারনেট পারমিশন যুক্ত করুনঃ

<uses-permission android:name="android.permission.INTERNET"/>

YouTube থেকে কোন ভিডিও প্লে করার জন্য আমাদের গুগল API লাগবে। তার জন্য গুগল ডেভেলপার কনসোলে গিয়ে একটা প্রজেক্ট তৈরি করুন। ঐ প্রজেক্টের Library তে কিক করুন।

 

 

এখান থেকে YouTube Data API তে ক্লিক করুন। এরপর YouTube Data API এনাবল করুন।

 

YouTube API কল করার জন্য আমাদের একটা API Key লাগবে। তার জন্য Credentials এ ক্লিক করুন। এবং Create Credentials > API Key তে ক্লিক করুন।

 

 

আপনাকে একটা API কী দেখাবে। আমাদের অ্যাপে ঐ কী টা লাগবে। কপি করে রাখতে পারেন। পরেও ঐ কী দেখতে পাবেন।

আমরা যে ভিডিওটি প্লে করব, তার আইডি লাগবে। প্রতিটা ভিডিও এর একটা ID রয়েছে। যেমন এই https://www.youtube.com/watch?v=Cpc-t-Uwv1I ভিডিওটির ID হচ্ছে Cpc-t-Uwv1I

যে কোন ভিডিও URL এর ?v= এর পরের অংশ হচ্ছে ভিডিও ID। ভিডিও প্লে করতে আমাদের যা যা দরকার, সব রেডি। এবার আমরা ভিডিও প্লে করব। এ অংশ খুব সহজ। activity_main.xml এ নিচের কোড যুক্ত করুনঃ

 

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingTop="@dimen/activity_vertical_margin" android:background="#5c5c5c" android:gravity="center" >



    <com.google.android.youtube.player.YouTubePlayerView android:id="@+id/youtube_player_view" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentEnd="true" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_alignParentStart="true" android:layout_alignParentTop="true" />
</RelativeLayout>

MainActivity.java

import android.os.Bundle;

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 {


    String videoId = "iG9CE55wbtY";
    String apiKey = "AIzaSyCzJpvhzGhyqVgejDF4J63P1IUG5HlJMEs";
    
    private YouTubePlayerView myouTubePlayerView;
    private YouTubePlayer.OnInitializedListener monInitializedListener;

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



        myouTubePlayerView = (YouTubePlayerView) findViewById(R.id.youtube_player_view);


        monInitializedListener = new YouTubePlayer.OnInitializedListener() {
            @Override
            public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) {
                youTubePlayer.loadVideo(videoId);
            }


            @Override
            public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) {

            }
        };

        myouTubePlayerView.initialize(apiKey, monInitializedListener);


    }
}

videoId এর যায়গায় আপনি যে ভিডিওটি প্লে করতে চাচ্ছে, সে আইডিটি দিন। apiKey এর যায়গায় গুগল কনসোল থেকে পাওয়া API কী টা দিন। এবার প্রজেক্টটি রান করে দেখুন। দেখতে পাবেন আপনার দেওয়া ভিডিও আইডিটা প্লে হচ্ছে।

সোর্স গুলো ডাউনলোড করা যাবে গিটহাব থেকে।

Leave a Reply

Your email address will not be published. Required fields are marked *