Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Android SDK
Code

অ্যান্ড্রয়েড অ্যাপ্লিকেশনে ভিডিও স্ট্রিম করার উপায়

by
Difficulty:IntermediateLength:LongLanguages:

Bengali (বাংলা) translation by Syeda Nur-E-Royhan (you can also view the original English article)

অ্যান্ড্রয়েড প্ল্যাটফর্মে কিছু লাইব্রেরী আছে যেখানে আপনি রিমোট ভিডিওর মতো মিডিয়া ফাইল চালাতে বা স্ট্রিম করতে পারবেন।আপনার অ্যাপ্লিকেশনে এগুলো প্লেব্যাক করার জন্য উপস্থাপন করা যাবে।  এই টিউটোরিয়ালে আপনি একটি ভিডিও ফাইল চালানো শিখবেন। ব্যবহারকারী যাতে প্লেব্যাক কন্ট্রোল করতে পারে সেজন্য VideoView কম্পোনেন্টের সাথে MediaController ব্যবহার করে এটিকে ডিসপ্লে করতে পারবেন।

একই সাথে আমরা MediaPlayer শ্রেণি ব্যবহার করে ভিডিও উপস্থাপন করার পদ্ধতিও সংক্ষেপে জানিয়ে দিবো। আপনি যদি অ্যান্ড্রয়েডের জন্য মিউজিক প্লেয়ার তৈরির সিরিজটি সম্পন্ন করে থাকেন তাহলে সেই শিক্ষা এই টিউটোরিয়ালে কাজে লাগিয়ে আরও ত্বরান্বিত করতে পারেন। আপনার যদি ইতোমধ্যে অন্তত কিছু অ্যান্ড্রয়েড অ্যাপ্লিকেশন তৈরির অভিজ্ঞতা থেকে থাকে তাহলে আপনি এই টিউটোরিয়ালটি সম্পন্ন করতে পারবেন। 

১। নতুন একটি অ্যাপ্লিকেশন তৈরি করুন

প্রথম ধাপ

আপনি এই মুহূর্তে কাজ করছেন এমন একটি অ্যাপ্লিকেশনের দক্ষতা বৃদ্ধি করতে এই টিউটোরিয়ালের কোড ব্যবহার করতে পারেন অথবা এখন এক্লিপস বা অ্যান্ড্রয়েড স্টুডিওতে একটি নতুন অ্যাপ্লিকেশন তৈরি করতে পারেন। একটি নতুন অ্যান্ড্রয়েড প্রজেক্ট তৈরি করুন, আপনার পছনের কোন একটা নাম দিন, এর বিস্তারিত বিবরণ তৈরি করুন, এবং এটিকে একটি প্রাথমিক Activity শ্রেণি এবং লেআউট দিন।

দ্বিতীয় ধাপ

প্রথমে চলুন মিডিয়া চালানর জন্য প্রজেক্টের বিস্তারিত বিবরণ তৈরি করে ফেলি। আপনার প্রজেক্টের বিবরণী ফাইল ওপেন করুন এবং আপনার IDE-তে XML সম্পাদনা অংশে চলে যান। মিডিয়া চালাতে হলে আপনার ইন্টারনেট সুবিধা থাকতে হবে। কাজেই manifest এলিমেন্টে নিচের পদ্ধতিতে অনুমতি যুক্ত করে দিন।

২। VideoView যোগ করুন

প্রথম ধাপ

অ্যান্ড্রয়েড প্ল্যাটফর্মে VideoView শ্রেণি রয়েছে যেখানে আপনি ভিডিও ফাইল চালাতে পারবেন। চলুন মূল লেআউট ফাইলে একটি যোগ করে ফেলি: 

প্রয়োজনবোধে আপনার নিজের অ্যাপ্লিকেশনের সাথে মিলিয়ে নিতে প্যারেন্ট লেআউটটি পরিবর্তন করে ফেলতে পারেন। আমরা VideoView-কে এক ধরণের id চিহ্ন দেই যাতে করে পরবর্তীতে এটিকে রেফার করা যায়। আপনার নিজের ডিজাইনের জন্য আপনাকে অন্যান্য লেআউট প্রপার্টি সমন্বয় করে নিতে হতে পারে।

দ্বিতীয় ধাপ

এখন চলুন VideoView-এর নমুনার একটি রেফারেন্স কোড আকারে উদ্ধার করে ফেলি। আপনার অ্যাপ্লিকেশনের মূল Activity শ্রেণি ওপেন করুন এবং নিচের অ্যাডিশনাল ইম্পোর্টগুলো যোগ করুন।

আপনার Activity শ্রেণিতে onCreate প্রক্রিয়াটি ইতোমধ্যেই থাকার কথা যেখানে কন্টেন্ট ভিউ সেট করা আছে।

setContentView লাইনের পর, নিচের মতো করে VideoView-এর নমুনায় একটি রেফারেন্স যুক্ত করে দিন। এক্ষেত্রে XML লেআউটে আমরা যে id সেট করেছি তা ব্যবহার করতে হবে।

৩। ভিডিও ফাইল চালিয়ে দেখুন

প্রথম ধাপ

এখন আমরা অ্যাপ্লিকেশনে ভিডিও ফাইল চালাতে পারব। শেষ অংশটুকুর জন্য নিচের মতো করে URI প্রস্তুত করে ফেলুন:

এইজন্য আপনাকে অবশ্যই যে ভিডিও ফাইলটি চালাতে চান সেটির রিমোট অ্যাড্রেস দরকার হবে। এখানে যে উদাহরণটি দেওয়া হয়েছে তা ইন্টারনেট আর্কাইভে হোস্ট করা একটি পাবলিক ডোমেইনের ভিডিও ফাইল। আমরা এই অ্যাড্রেস স্ট্রিংটিকে ছোট ছোট করে URI হিসেবে বিশ্লেষণ করবো যাতে করে এটিকে VideoView অবজেক্টে স্থানান্তরিত করা যায়। 

এখন আপনি সহজেই প্লেব্যাক চালু করতে পারেন।

অ্যান্ড্রয়েড অপারেটিং সিস্টেম বিভিন্ন ফরম্যাটের ভিডিও এবং মিডিয়া চালাতে সক্ষম। কখনও কখনও প্রতিটি যন্ত্র আলাদাভাবে বাড়তি আরও কিছু ফরম্যাট চালাতে পারে।

ডেভেলপার গাইডে আপনারা দেখেছেন, যেসব ভিডিও ফাইল ফরম্যাট চালানো সম্ভব তার মধ্যে রয়েছে থ্রিজিপি, এমপিফোর, ডাব্লিউইবিএম, এবং এমকেভি। এটা নির্ভর করে কোন ফরম্যাট ব্যবহার করা হচ্ছে আর কোন স্তরের প্ল্যাটফর্মে ব্যবহারকারী ফাইলটি ইন্সটল করেছেন।

অডিও ফাইল ফরম্যাটে আপনি বিল্ট-ইন সহায়তা আশা করতেই পারেন যাতে করে এমপিথ্রি, এমআইডি, ওজিজি, এবং ডাব্লিউএভি যুক্ত করা যায়। আপনি আরটিএসপি, এইচটিটিপি, এবং এইচটিটিপিএসের উপরের স্তরের অ্যান্ড্রয়েডে (অ্যান্ড্রয়েড ৩.১ থেকে শুরু করে) মিডিয়া চালাতে পারবেন।

৪। প্লেব্যাক কন্ট্রোল যুক্ত করুন

প্রথম ধাপ

আমরা ভিডিও প্লেব্যাক সম্পূর্ণ করেছি। কিন্তু ব্যবহারকারী চাইবেন এবং অভ্যস্ত থাকবেন যে এর উপর তার সম্পূর্ণ নিয়ন্ত্রণ থাকবে। আবার, অ্যান্ড্রয়েড প্ল্যাটফর্মে এই সমস্যা সমাধানের জন্য MediaController শ্রেণি থেকে কাছাকাছি কোন পারস্পরিক ক্রিয়া ব্যবহার করার সুযোগ রয়েছে।

আপনার Activity শ্রেণীর onCreate প্রক্রিয়ায়, VideoView-তে start লাইনের আগে এই শ্রেণীর একটি নমুনা তৈরি করে ফেলুন:

এরপর, VideoView-এর নমুনাটিকে নোঙরের মতো ব্যবহার করুন।

সবশেষে, VideoView অবজেক্টের জন্য এটিকে মিডিয়া কন্ট্রোলার হিসেবে সেট করুন।

এখন যদি আপনি অ্যাপ্লিকেশনটি চালু করেন, তাহলে ব্যবহারকারী চালু হওয়া ভিডিওটির প্লেব্যাক নিয়ন্ত্রণ করতেপারবে। একই সাথে ফাস্ট ফরোয়ার্ড এবং রিওয়াইন্ড বাটন, প্লে/পজ বাটন, এবং সিক বারও নিয়ন্ত্রণ করতে পারবে।

সিক বার কন্ট্রোলের ডানে থাকবে মিডিয়া ফাইলটির দৈর্ঘ্য এবং বামে থাকবে প্লেব্যাকের বর্তমান অবস্থান। একই সাথে সিক বারে স্পর্শ করে ফাইলের যে কোন অবস্থানে চলে যাওয়া যাবে। ভিডিও চলাকালীন অবস্থানের নির্দেশনা ইউটিউবের মতো যে কোন সাইট বা অ্যাপ্লিকেশনের ডিসপ্লের মতোই হবে যাতে ব্যবহারকারী এতে আগে থেকেই অভ্যস্ত থাকেন।

আপনি খেয়াল করে থাকবেন যে সাধারণত ফাইল নিয়ন্ত্রণের এই নির্দেশিকাগুলো অ্যাপ্লিকেশন চালানোর সময় কিছুক্ষণ পর অদৃশ্য হয়ে যায়। আপনি এই MediaController-এর কার্যক্রম বিভিন্নভাবে নির্দিষ্ট করতে পারবেন। এটা কিভাবে করতে হবে তা জানতে হলে অ্যান্ড্রয়েডের জন্য মিউজিক প্লেয়ার অ্যাপ্লিকেশন তৈরির সিরিজটি দেখতে পারেন। আপনি আপনার অ্যাপ্লিকেশনের কার্যক্রম নির্দিষ্ট করতে বিভিন্ন ধরণের শ্রোতা ব্যবহার করে মিডিয়া প্লেব্যাকের দক্ষতা বৃদ্ধি করতে পারেন।

৫। MediaPlayer ব্যবহার করা

প্রথম ধাপ

শেষ করার আগে, চলুন একটি ভিন্ন পদ্ধতিতে MediaPlayer ব্যবহার করে ভিডিও চালানোর চেষ্টা করি। কারণ এর আগে আমরা মিউজিক প্লেয়ার তৈরির সিরিজেও এটি ব্যবহার করেছিলাম। আপনি চাইলে একটি সারফেস ভিউ ব্যবহার করে MediaPlayer-এ ভিডিওসহ অন্যান্য মিডিয়া চালাতে পারবেন। যেমন, আপনি নিচের লেআউটটি ব্যবহার করতে পারেন:

আমরা Activity শ্রেণীর কার্যক্রমে SurfaceView-এর প্রতি নির্দেশ করবো।

দ্বিতীয় ধাপ

আপনার Activity শ্রেণিতে নিচের ইন্টারফেসগুলো যোগ করুন:

আপনার IDE আপনাকে এই অবাস্তবায়িত প্রক্রিয়াগুলো যোগ করতে তাগাদা দিবে।

আমরা SurfaceCreated এবং onPrepared প্রক্রিয়াতে এটি যোগ করবো।

তৃতীয় ধাপ

প্লেব্যাক কার্যকর করতে হলে নিচের নমুনাগুলোর ভ্যারিয়েবল শ্রেণিতে যোগ করুন।

Activity-র onCreate প্রক্রিয়ায়, আপনি লেআউটে যুক্ত SurfaceView অবজেক্ট ব্যবহার করে এই ভ্যারিয়েবলগুলো বাস্তবায়ন করতে পারেন।

চতুর্থ ধাপ

SurfaceCreated প্রক্রিয়ায়, আপনার মিডিয়া প্লেব্যাকের উৎস সেট করুন:

সবশেষে, onPrepared প্রক্রিয়ায় প্লেব্যাক শুরু করুন:

আপনি এখন অ্যাপ্লিকেশনটি চালু করলে MediaPlayer-এর নমুনাটি চালু হয়ে যাবে।

উপসংহার

এই টিউটোরিয়ালে আমরা VideoView এবং MediaPlayer শ্রেণি ব্যবহার করে অ্যান্ড্রয়েডে ভিডিও চালানোর মৌলিক পদ্ধতিগুলো চিহ্নিত করেছি। আপনি চাইলে আমরা এখানে যে কোড কাজে লাগিয়েছি তা আরও বেশি উন্নত করতে পারেন। যেমন আমরা যে মিউজিক প্লেয়ার অ্যাপ্লিকেশন তৈরি করেছি সেখানে ভিডিও বা মিডিয়া সাপোর্ট চালু করা যায়। আপনি চাইলে ইউটিউব অ্যান্ড্রয়েড প্লেয়ার এপিআই-এর মতো অ্যান্ড্রয়েডের জন্য অন্যান্য সংশ্লিষ্ট উৎসগুলোও দেখতে পারেন।

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.