সিস্টেম UI এ মিডিয়া নিয়ন্ত্রণ

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

মিডিয়া নিয়ন্ত্রণে আপডেট

এই অংশে অ্যান্ড্রয়েড ১৩-এর মিডিয়া কন্ট্রোলে অ্যাকশন বাটন এবং রিমোট প্লেব্যাকের ক্ষেত্রে করা আপডেটগুলো বর্ণনা করা হয়েছে।

অ্যাকশন বোতাম পরিবর্তন

যেসব অ্যাপ মিডিয়া প্লে করে, ব্যবহারকারীরা যাতে সেগুলোর জন্য বিভিন্ন ধরনের মিডিয়া কন্ট্রোল ব্যবহার করতে পারেন, তা নিশ্চিত করার জন্য অ্যান্ড্রয়েড ১৩-এর মিডিয়া কন্ট্রোলের অ্যাকশন বাটনগুলো PlaybackState অ্যাকশন স্টেট থেকে নেওয়া হয়েছে। এই পরিবর্তনের ফলে, MediaDataManager#createActionsFromState ফাংশনটি PlaybackState অ্যাকশন স্টেটের উপর ভিত্তি করে অ্যাকশন বাটনের তথ্য তৈরি করে। এটি অটো, অ্যাসিস্ট্যান্ট এবং ওয়্যার-এর মতো অন্যান্য অ্যান্ড্রয়েড প্ল্যাটফর্মে মিডিয়া কন্ট্রোলগুলো যেভাবে রেন্ডার করা হয়, তার সাথে সামঞ্জস্যপূর্ণ।

এর বিপরীতে, অ্যান্ড্রয়েড ১২-এ, মিডিয়া কন্ট্রোলের অ্যাকশন বাটনগুলো একটি MediaStyle নোটিফিকেশনে যুক্ত করা নোটিফিকেশন অ্যাকশন দ্বারা নির্ধারিত হতো।

অ্যাকশন বাটন আপডেটের ক্ষেত্রে অ্যাপ-সামঞ্জস্যপূর্ণ পরিবর্তনগুলোর সারসংক্ষেপের জন্য StatusBarManager দেখুন।

রিমোট প্লেব্যাক এপিআই

বিভিন্ন প্ল্যাটফর্মে একটি সমন্বিত মিডিয়া অভিজ্ঞতা প্রদানের জন্য, অ্যান্ড্রয়েড ১৩ থেকে একটি নতুন সিস্টেম এপিআই (API) Notification#setRemotePlaybackInfo যোগ করা হয়েছে। এটি মিডিয়া কন্ট্রোল সিস্টেম UI-তে মিডিয়া নোটিফিকেশনগুলোকে রিমোট প্লেব্যাকের জন্য চিহ্নিত করে। এই এপিআই নোটিফিকেশন পোস্টকারী সিস্টেম অ্যাপগুলোকে নিম্নলিখিত কাজগুলো করার সুযোগ দেয়:

  • রিমোট ডিভাইস থেকে আসা মিডিয়ার জন্য তথ্য ও কার্যকারিতা মিডিয়া কন্ট্রোলের ডিফল্ট আউটপুট সুইচারে সরবরাহ করুন।
  • প্রয়োজনে আউটপুট সুইচারের ব্যবস্থাটি প্রতিস্থাপন করুন।

যেসব সিস্টেম অ্যাপ এই নোটিফিকেশনটি ব্যবহার করে, সেগুলোর অবশ্যই MEDIA_CONTENT_CONTROL পারমিশন থাকতে হবে।

Notification#setRemotePlaybackInfo API-টি রিমোট প্লেব্যাক ডিভাইসের নাম, আইকন এবং ইনটেন্ট নির্ধারণ করার জন্য নিম্নলিখিত extras যোগ করে:

  • Notification#EXTRA_MEDIA_REMOTE_DEVICE
  • Notification#EXTRA_MEDIA_REMOTE_ICON
  • Notification#EXTRA_MEDIA_REMOTE_INTENT

এই তথ্যের সাহায্যে, সিস্টেম UI ডিফল্ট আউটপুট সুইচার চিপ ডিভাইসের তথ্য প্রতিস্থাপন করতে পারে এবং রিমোট প্লেব্যাকের জন্য মিডিয়া কন্ট্রোলটিকে লোকাল মিডিয়া কন্ট্রোলের তালিকার শেষে যুক্ত করতে পারে।

মিডিয়া নিয়ন্ত্রণের বাস্তবায়ন

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

OEM-দের কোনো পরিবর্তন করার প্রয়োজন নেই এবং তারা AOSP-তে থাকা ডিফল্ট ইমপ্লিমেন্টেশনটি ব্যবহার করতে পারেন।

রিমোট প্লেব্যাকের কাস্টমাইজেশন

যেসব ক্ষেত্রে OEM-এর এমন কোনো সিস্টেম অ্যাপ থাকে যা রিমোট মিডিয়া প্লেব্যাক নোটিফিকেশন পোস্ট করে, সেখানে অ্যাপটি ঐচ্ছিকভাবে নোটিফিকেশনের জন্য setRemotePlaybackInfo কল করতে পারে, যদি তাকে MEDIA_CONTENT_CONTROL পারমিশন দেওয়া হয়ে থাকে। তবে, এটি কোনো আবশ্যিক শর্ত নয় এবং পার্টনার চাইলে এটি কাস্টমাইজ নাও করতে পারেন।

মিডিয়া নিয়ন্ত্রণের বৈধতা

সিস্টেম UI-তে মিডিয়া কন্ট্রোল পরীক্ষা করতে, নিম্নলিখিত বিষয়গুলো যাচাই করার জন্য একটি ম্যানুয়াল টেস্ট চালান:

  • অ্যাপ থেকে মিডিয়া চালানোর সময় বাটনগুলো সঠিকভাবে কাজ করে।
  • আউটপুট সুইচারটি সঠিক ডিভাইসের তথ্য প্রদর্শন করে।

রিমোট প্লেব্যাক এপিআই যাচাই করতে নিম্নলিখিত পরীক্ষাগুলো ব্যবহার করুন:

সুপারিশের জন্য নতুন CDD আবশ্যকতা [3.8.3.1/H-1-SR] দেখুন।