از اندروید ۱۳ به بعد، کنترلهای رسانهای در رابط کاربری سیستم شامل بهروزرسانیهایی برای دکمههای عملیاتی و پخش از راه دور میشوند. این تغییرات از یک تجربه کنترل رسانهای روانتر در تلفنها و تبلتها پشتیبانی میکنند و انتقال رسانهای یکپارچهای را بین دستگاهها ارائه میدهند.
بهروزرسانیهای کنترلهای رسانهای
این بخش، بهروزرسانیهای انجامشده در کنترلهای رسانهای در اندروید ۱۳ برای دکمههای عملیاتی و پخش از راه دور را شرح میدهد.
تغییرات دکمههای عملیاتی
برای اطمینان از اینکه کاربران میتوانند به مجموعهای غنی از کنترلهای رسانهای برای برنامههای پخش رسانه دسترسی داشته باشند، دکمههای عملیاتی روی کنترلهای رسانهای برای اندروید ۱۳ از حالتهای عملیاتی PlaybackState مشتق شدهاند. با این تغییر، تابع MediaDataManager#createActionsFromState اطلاعات دکمه عملیاتی را بر اساس حالت عملیاتی PlaybackState تولید میکند. این با نحوه رندر کنترلهای رسانهای در سایر پلتفرمهای اندروید مانند Auto، Assistant و Wear همسو است.
در مقابل، در اندروید ۱۲، دکمههای عملیاتی روی کنترلهای رسانهای توسط اقدامات اعلان اضافه شده به اعلان MediaStyle تعیین میشدند.
برای خلاصهای از تغییرات سازگار با برنامه برای بهروزرسانیهای دکمهی عملیاتی، به StatusBarManager مراجعه کنید.
API پخش از راه دور
برای ارائه یک تجربه رسانهای منسجم در سطوح مختلف، از اندروید ۱۳، یک API سیستم جدید Notification#setRemotePlaybackInfo اضافه شده است تا اعلانهای رسانهای را در رابط کاربری سیستم کنترل رسانه برای پخش از راه دور علامتگذاری کند. این API به برنامههای سیستمی که اعلانها را ارسال میکنند، اجازه میدهد موارد زیر را انجام دهند:
- اطلاعات و قابلیتها را برای رسانهای که از یک دستگاه از راه دور سرچشمه میگیرد، به سوئیچر خروجی پیشفرض روی کنترل رسانه ارائه دهید.
- در صورت لزوم، آفوردانس سوئیچر خروجی را تعویض کنید.
برنامههای سیستمی که از این اعلان استفاده میکنند باید مجوز MEDIA_CONTENT_CONTROL داشته باشند.
API Notification#setRemotePlaybackInfo همچنین extras زیر را برای تعیین نام، آیکون و هدف دستگاه پخش از راه دور اضافه میکند:
-
Notification#EXTRA_MEDIA_REMOTE_DEVICE -
Notification#EXTRA_MEDIA_REMOTE_ICON -
Notification#EXTRA_MEDIA_REMOTE_INTENT
با استفاده از این اطلاعات، رابط کاربری سیستم میتواند اطلاعات دستگاه تراشه سوئیچر خروجی پیشفرض را جایگزین کرده و کنترل رسانه را برای پخش از راه دور به انتهای لیست کنترلهای رسانه محلی اضافه کند.
اجرای کنترل رسانهای
تولیدکنندگان تجهیزات اصلی (OEM) باید از این تغییر در رفتار پیشفرض آگاه باشند، زیرا بر نحوه تولید کنترلهای رسانهای برای برنامهها تأثیر میگذارد. تولیدکنندگان تجهیزات اصلی همچنین باید اطمینان حاصل کنند که API سیستم جدید مطابق با قابلیت سوئیچ خروجی آنها عمل میکند.
تولیدکنندگان اصلی تجهیزات (OEM) نیازی به ایجاد هیچ تغییری ندارند و میتوانند از پیادهسازی پیشفرض در AOSP استفاده کنند.
سفارشیسازی پخش از راه دور
در مواردی که تولیدکننده اصلی (OEM) یک برنامه سیستمی دارد که اعلانهای پخش رسانه از راه دور را ارسال میکند، برنامه میتواند به صورت اختیاری setRemotePlaybackInfo را برای اعلان فراخوانی کند، البته تا زمانی که مجوز MEDIA_CONTENT_CONTROL به آن اعطا شده باشد. با این حال، این یک الزام نیست و شریک میتواند سفارشیسازی را انجام ندهد.
اعتبارسنجی کنترل رسانه
برای آزمایش کنترل رسانه در رابط کاربری سیستم، یک آزمایش دستی اجرا کنید تا موارد زیر را تأیید کنید:
- دکمهها هنگام پخش رسانه از یک برنامه، همانطور که در نظر گرفته شده عمل میکنند.
- سوئیچر خروجی اطلاعات صحیح دستگاه را نمایش میدهد.
برای اعتبارسنجی API پخش از راه دور، از آزمایشهای زیر استفاده کنید:
- تستهای CTS در
NotificationManagerTest، مانندtestMediaStyleRemotePlayback_noPermissionوtestMediaStyleRemotePlayback_hasPermission. - تستهای واحد تحت
com.android.systemui.media.
برای توصیهها به الزام جدید CDD [3.8.3.1/H-1-SR] مراجعه کنید.