সিস্টেম UI-তে মিডিয়া কন্ট্রোল

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

মিডিয়া কন্ট্রোল সংক্রান্ত আপডেট

এই বিভাগে Android 13-এ মিডিয়া কন্ট্রোলে করা আপডেট সম্পর্কে বর্ণনা করা হয়েছে যা অ্যাকশন বোতাম ও রিমোট প্লেব্যাকের জন্য প্রযোজ্য।

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

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

অন্যদিকে, Android 12-এ, মিডিয়া কন্ট্রোলের অ্যাকশন বোতামগুলি বিজ্ঞপ্তি অ্যাকশন দ্বারা নির্ধারিত হয় যা কোনও MediaStyle বিজ্ঞপ্তিতে যোগ করা হয়।

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

রিমোট প্লেব্যাক API

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

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

এই বিজ্ঞপ্তি ব্যবহার করে এমন সিস্টেম অ্যাপের MEDIA_CONTENT_CONTROL অনুমতি থাকতে হবে।

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

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

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

মিডিয়া কন্ট্রোল প্রয়োগ করা

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

OEM-কে কোনও পরিবর্তন করতে হবে না এবং AOSP-তে ডিফল্ট প্রয়োগ ব্যবহার করতে পারবে।

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

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

মিডিয়া কন্ট্রোল যাচাইকরণ

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

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

রিমোট প্লেব্যাক API যাচাই করতে নিম্নলিখিত টেস্টগুলি ব্যবহার করুন:

সাজেশনের জন্য নতুন CDD সংক্রান্ত প্রয়োজনীয়তা [3.8.3.1/H-1-SR] দেখুন।