আপনার মিডিয়া অ্যাপকে Android TV-তে প্রসারিত করুন

অ্যান্ড্রয়েড একটি সমৃদ্ধ ব্যবহারকারীর অভিজ্ঞতা অফার করে যা হাই-ডেফিনিশন টেলিভিশনের মতো বড় স্ক্রীন ডিভাইসে চলমান অ্যাপগুলির জন্য অপ্টিমাইজ করা হয়। আপনি অ্যান্ড্রয়েড টিভির জন্য এটিকে ডেভেলপ করে আপনার অ্যাপের দর্শকদের বাড়াতে পারেন। এই দস্তাবেজটি কীভাবে কার্যকরভাবে করা যায় তার নির্দেশিকা প্রদান করে।

টিভি অ্যাপ তৈরি করুন

টিভি অ্যাপ্লিকেশানগুলি ফোন এবং ট্যাবলেটগুলির মতো একই কাঠামো ব্যবহার করে৷ এই পদ্ধতির অর্থ হল আপনি Android এর জন্য অ্যাপ তৈরি করার বিষয়ে ইতিমধ্যে যা জানেন তার উপর ভিত্তি করে আপনি নতুন টিভি অ্যাপ তৈরি করতে পারেন, বা আপনার বিদ্যমান অ্যাপগুলিকে টিভি ডিভাইসে চালানোর জন্য প্রসারিত করতে পারেন।

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

টিভি হার্ডওয়্যার কন্ট্রোলারগুলি কীভাবে পরিচালনা করা যায়, টিভি লেআউট তৈরি করা এবং টিভি নেভিগেশন তৈরি করার মতো বিবেচনার বিষয়ে আরও তথ্যের জন্য, বিল্ড টিভি অ্যাপ দেখুন।

Media3 ExoPlayer ব্যবহার করুন

Jetpack Media3 একটি প্লেয়ার ইন্টারফেস প্রদান করে যা মৌলিক বৈশিষ্ট্যগুলি যেমন প্লে করার ক্ষমতা, বিরতি, অনুসন্ধান এবং ট্র্যাক তথ্য প্রদর্শন করার ক্ষমতাকে সংজ্ঞায়িত করে। ExoPlayer হল Media3 এ এই ইন্টারফেসের ডিফল্ট বাস্তবায়ন।

অ্যান্ড্রয়েডের মিডিয়াপ্লেয়ার API-এর তুলনায়, এটি একাধিক স্ট্রিমিং প্রোটোকল, ডিফল্ট অডিও এবং ভিডিও রেন্ডারার এবং মিডিয়া বাফারিং পরিচালনা করে এমন উপাদানগুলির জন্য সমর্থনের মতো অতিরিক্ত সুবিধা যোগ করে।

আপনি ExoPlayer কাস্টমাইজ এবং প্রসারিত করতে পারেন এবং এটি প্লে স্টোর অ্যাপ্লিকেশন আপডেটের মাধ্যমে আপডেট করা যেতে পারে। আরও তথ্যের জন্য, Media3 ExoPlayer দেখুন।

Media3 MediaSession ব্যবহার করুন

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

নতুন MediaSession ক্লাস যে কোনো ক্লাস নেয় যা প্লেয়ার ইন্টারফেস প্রয়োগ করে। ExoPlayer এবং MediaController উভয়ই ক্লাস যা সেই ইন্টারফেসটি বাস্তবায়ন করে। এটি উপাদানগুলির মধ্যে অনেক সহজ মিথস্ক্রিয়া সহজতর করে। আরও তথ্যের জন্য, প্লেয়ার ইন্টারফেস দেখুন।

একটি মিডিয়া প্লেব্যাক অ্যাপ তৈরির বিষয়ে আরও তথ্যের জন্য, ExoPlayer ব্যবহার করে একটি মৌলিক মিডিয়া প্লেয়ার তৈরি করুন দেখুন।

আপনার মিডিয়া অ্যাপের শেষ ব্যবহারকারীদের জন্য সেরা অভিজ্ঞতা তৈরি করতে, আপনাকে MediaSession প্রয়োগ করতে হবে। এটি করার জন্য, একটি Player শুরু করুন এবং এটি MediaSession.Builder সরবরাহ করুন।

কোটলিন

val player = ExoPlayer.Builder(context).build()
val mediaSession = MediaSession.Builder(context, player).build()

জাভা

ExoPlayer player = new ExoPlayer.Builder(context).build();
MediaSession mediaSession = new MediaSession.Builder(context, player).build();

স্বয়ংক্রিয় রাষ্ট্র পরিচালনা

Media3 লাইব্রেরি স্বয়ংক্রিয়ভাবে প্লেয়ারের অবস্থা ব্যবহার করে মিডিয়া সেশন আপডেট করে। যেমন, আপনাকে প্লেয়ার থেকে সেশনে ম্যাপিং ম্যানুয়ালি পরিচালনা করতে হবে না। এটি নিশ্চিত করতে সাহায্য করে যে আপনার ব্যবহারকারীরা সর্বদা এখন প্লেয়িং কার্ড সহ প্লেয়িং মিডিয়াতে আপ-টু-ডেট তথ্য দেখতে পান।

নিয়ন্ত্রণ এবং প্লেব্যাক বিজ্ঞাপন

Media3 এ, ডিফল্ট প্লেয়ার হল ExoPlayer ক্লাস, যা প্লেয়ার ইন্টারফেস প্রয়োগ করে। প্লেয়ারের সাথে মিডিয়া সেশন সংযুক্ত করা একটি অ্যাপকে বাহ্যিকভাবে মিডিয়া প্লেব্যাকের বিজ্ঞাপন দিতে এবং বাহ্যিক উত্স থেকে প্লেব্যাক কমান্ড পেতে অনুমতি দেয়৷ মিডিয়া সেশন এই কমান্ডগুলি মিডিয়া অ্যাপের প্লেয়ারে অর্পণ করে।

মিডিয়া সেশন প্লেব্যাক নিয়ন্ত্রণের চাবিকাঠি। এটি আপনাকে বাহ্যিক উত্স থেকে প্লেয়ারে কমান্ডগুলি রুট করতে দেয় যা আপনার মিডিয়া চালানোর কাজ করে। বাহ্যিক ক্লায়েন্টরা আপনার মিডিয়া অ্যাপে প্লেব্যাক কমান্ড ইস্যু করতে একটি মিডিয়া কন্ট্রোলার ব্যবহার করতে পারে। এগুলি আপনার মিডিয়া সেশন দ্বারা গৃহীত হয়, যা শেষ পর্যন্ত মিডিয়া প্লেয়ারকে কমান্ড অর্পণ করে।

প্লেব্যাক সম্পর্কে আরও তথ্যের জন্য, যেমন প্লেব্যাক কমান্ডের আচরণকে কীভাবে কাস্টমাইজ করা যায়, দেখুন MediaSession ব্যবহার করে প্লেব্যাকের নিয়ন্ত্রণ এবং বিজ্ঞাপন দিন

আপনার অ্যাপে ব্যাঘাত এড়িয়ে চলুন

MediaSession ব্যবহার করা আপনাকে অপ্রয়োজনীয় বাধাগুলি এড়াতে দেয় যেমন:

  • টিভি বন্ধ করার সময় বা টিভি ইনপুট স্যুইচ করার সময় অপ্রত্যাশিত এবং অবিরত প্লেব্যাক । এটি টিভি হার্ডওয়্যারের জন্য উচ্চ শক্তি খরচও ঘটায়। MediaSession এর মাধ্যমে, আপনার অ্যাপ প্ল্যাটফর্মকে জানাতে পারে যে এটি মিডিয়া চালাচ্ছে এবং প্ল্যাটফর্ম অ্যাপটিকে জানাতে সক্ষম যে প্লেব্যাক বন্ধ হতে পারে।

  • অ্যাপ থেকে স্যুইচ আউট করার সময় বা টিভি ডিসপ্লে বন্ধ করার সময় মিউজিক প্লেব্যাক অপ্রত্যাশিতভাবে বন্ধ হয়ে যায়MediaSession API ব্যবহার করা একটি ব্যাকগ্রাউন্ড পরিষেবাতে অবিরত প্লেব্যাক সক্ষম করে।

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

আরও বিবেচনা

আপনি টিভির জন্য Android-এ আপনার মিডিয়া অ্যাপটি প্রসারিত করার সাথে সাথে আপনাকে অ্যাক্সেসযোগ্যতার সমস্যাগুলি বিবেচনা করতে হবে, কীভাবে এনগেজমেন্ট চালাতে হবে, কীভাবে ব্যবহারকারীদের সামগ্রী খুঁজে পেতে সক্ষম করবেন, সেইসাথে গেমস এবং টিভি ইনপুট পরিষেবাগুলি কীভাবে তৈরি করবেন৷

টিভি অ্যাক্সেসিবিলিটি

যদিও সহায়ক প্রযুক্তিগুলি কম দৃষ্টিভঙ্গি সহ ব্যবহারকারীদের সাহায্য করতে পারে এবং করতে পারে, টিভি অ্যাপগুলির জন্য সামগ্রী আবিষ্কারের যাত্রায় অ্যাক্সেসযোগ্যতা সমর্থন করা গুরুত্বপূর্ণ৷

উদাহরণস্বরূপ, নেভিগেশন নির্দেশিকা প্রদান এবং উপাদানগুলিকে সঠিকভাবে লেবেল করার দিকে অতিরিক্ত মনোযোগ দিন এবং TV অ্যাপগুলি টকব্যাকের মতো অ্যাক্সেসিবিলিটি বৈশিষ্ট্যগুলির সাথে ভাল কাজ করে তা নিশ্চিত করতে সহায়তা করুন৷ এই পদক্ষেপগুলি দৃষ্টি প্রতিবন্ধী ব্যবহারকারীদের অভিজ্ঞতাকে উল্লেখযোগ্যভাবে উন্নত করতে পারে।

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

Google TV-এ এনগেজমেন্ট চালানোর সর্বোত্তম অনুশীলন

অ্যান্ড্রয়েড টিভির জন্য তৈরি সমস্ত অ্যাপ Google TV চালানো ডিভাইসে কাজ করে। Google TV-তে সর্বোত্তম ব্যবহারকারীর অভিজ্ঞতা প্রদান করতে, আমরা আপনাকে নিম্নলিখিত সেরা অনুশীলনগুলি প্রয়োগ করার পরামর্শ দিই।

একটি অডিও বা ভিডিও প্লেয়ারের সাথে ইন্টারঅ্যাক্ট করার একটি সর্বজনীন উপায় প্রদান করতে আপনাকে MediaSession ব্যবহার করতে হবে। এটি কীভাবে বাস্তবায়ন করবেন সে সম্পর্কে আরও তথ্যের জন্য, Media3 MediaSession ব্যবহার করুন দেখুন।

একটি বেসলাইন হিসাবে, আপনার অ্যাপকে Google Cast সমর্থন করতে হবে। এটি আপনাকে আপনার অ্যান্ড্রয়েড, আইওএস এবং ক্রোম অ্যাপগুলিকে অ্যান্ড্রয়েড টিভিগুলির পাশাপাশি Chromecast ডিভাইস এবং সহকারী ডিভাইসগুলিতে অডিও এবং ভিডিও স্ট্রিমিং সক্ষম করতে দেয়৷ আরও তথ্যের জন্য, Google Cast ডকুমেন্টেশন দেখুন।

এছাড়াও আপনি ব্যবহারকারীদের সাহায্য করতে পারেন:

  • মিডিয়া অ্যাকশন ফিড অফার করে বা পরবর্তী দেখুন সংহত করে সারফেস জুড়ে কন্টেন্ট আবিষ্কার করুন

  • অ্যাকাউন্ট লিঙ্কিং এবং এনটাইটেলমেন্ট সিঙ্ক সমর্থন করে, ভয়েস কাস্টিং অফার করে এবং কাস্ট কানেক্ট সক্ষম করে ভয়েস এবং ব্যস্ততার সুবিধা নিন

  • Google Play বিলিং সংহত করে এবং ঘর্ষণহীন সদস্যতা প্রদান করে আরও সহজে অর্থপ্রদান করুন

টিভি ইনপুট ফ্রেমওয়ার্ক তৈরি করুন

লাইভ টিভি শো এবং অন্যান্য ক্রমাগত, চ্যানেল-ভিত্তিক সামগ্রী দেখা টিভি অভিজ্ঞতার একটি বড় অংশ। ব্যবহারকারীরা চ্যানেল ব্রাউজিং করে টিভিতে শো নির্বাচন এবং দেখতে অভ্যস্ত। টিভি ইনপুট ফ্রেমওয়ার্ক টিভি প্রোগ্রামিং গাইডে আইডিও বা সঙ্গীত বিষয়বস্তু প্রকাশের জন্য চ্যানেল তৈরি করে।

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