ডিভাইসগুলির মধ্যে রাউটিং

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

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

চিত্র ১। মিডিয়া অ্যাপ থেকে রিসিভার ডিভাইসে মিডিয়া রাউট প্রোভাইডার ক্লাসগুলো কীভাবে যোগাযোগ স্থাপন করে তার একটি সংক্ষিপ্ত বিবরণ।

দ্রষ্টব্য: আপনি যদি আপনার অ্যাপে গুগল কাস্ট ডিভাইস সাপোর্ট করাতে চান, তাহলে আপনার কাস্ট এসডিকে (Cast SDK) ব্যবহার করা উচিত এবং অ্যাপটিকে একটি কাস্ট প্রেরক (Cast sender) হিসেবে বিল্ড করা উচিত। সরাসরি মিডিয়ারাউটার (MediaRouter) ফ্রেমওয়ার্ক ব্যবহার না করে, কাস্ট ডকুমেন্টেশনে দেওয়া নির্দেশনাগুলো অনুসরণ করুন।

মিডিয়ারাউটার সাপোর্ট লাইব্রেরি

মিডিয়ারাউটার এপিআইগুলো AndroidX MediaRouter লাইব্রেরিতে সংজ্ঞায়িত করা আছে। এই লাইব্রেরিটি Android 2.3 (API লেভেল 9) এবং তার উচ্চতর সংস্করণে চালিত ডিভাইসগুলোর সাথে সামঞ্জস্যপূর্ণ এবং সেগুলোর সবকটিতে একটি সামঞ্জস্যপূর্ণ অভিজ্ঞতা নিশ্চিত করে। মিডিয়ারাউটার এপিআইগুলো সম্পর্কে বিস্তারিত তথ্যের জন্য, এপিআই রেফারেন্সে androidx.mediarouter.media প্যাকেজটি দেখুন।

মিডিয়ারাউটার এপিআই
একটি মিডিয়া অ্যাপ উপলব্ধ রিমোট প্লেব্যাক ডিভাইসগুলি খুঁজে বের করতে এবং সেগুলিতে অডিও ও ভিডিও পাঠাতে MediaRouter API ব্যবহার করে।
মিডিয়ারুটপ্রোভাইডার এপিআই
MediaRouteProvider API একটি রিমোট প্লেব্যাক ডিভাইসের সক্ষমতা নির্ধারণ করে এবং বিকল্প মিডিয়া পাথ অনুসন্ধানের জন্য MediaRouter ব্যবহারকারী অ্যাপগুলোর কাছে এটিকে দৃশ্যমান করে তোলে।

আউটপুট সুইচার

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

মিডিয়া নোটিফিকেশনে থাকা রুট সিলেকশন বাটনটি চাপলে আউটপুট সুইচারটি আসে, যেখানে ডিফল্টভাবে এই অপশনগুলো থাকে:

  • বর্তমান ডিভাইসের স্পিকার
  • সমস্ত সংযুক্ত ব্লুটুথ অডিও ডিভাইস

অ্যাপগুলো তাদের সক্ষমতার ওপর নির্ভর করে আরও বিকল্প প্রদান করতে পারে, যেমন কাস্ট (Cast)।

অ্যাপগুলো রাউটিংয়ের বিকল্পগুলো কাস্টমাইজ করতে MediaRouter API ব্যবহার করতে পারে। আপনি যেসব ডিভাইস সাপোর্ট করেন না, সেগুলো বাদ দিতে পারেন (যেমন, Netflix স্মার্ট টিভিতে দেখার সময় শুধু অডিও-যুক্ত Chromecast ফিল্টার করে বাদ দেওয়া) অথবা আপনার অ্যাপ দ্বারা স্বীকৃত অন্যান্য বিশেষ ডিভাইস অন্তর্ভুক্ত করতে পারেন।