از Android 13، کنترلهای رسانه در «میانای کاربری سیستم» شامل بهروزرسانیهای دکمههای کنش و بازپخش از دور است. این تغییرات از تجربه کنترل رسانه بهتر در تلفنها و رایانههای لوحی پشتیبانی میکند و انتقال یکپارچه رسانه را در دستگاههای مختلف ارائه میدهد.
بهروزرسانیهای کنترلهای رسانه
این بخش بهروزرسانیهای انجامشده در کنترلهای رسانه در Android 13 برای دکمههای کنش و بازپخش از دور را شرح میدهد.
تغییرات دکمه کنش
برای اطمینان از اینکه کاربران میتوانند به مجموعه کاملی از کنترلهای رسانه برای برنامههای پخشکننده رسانه دسترسی داشته باشند، دکمههای کنش در کنترلهای رسانه برای Android 13 از وضعیتهای کنش PlaybackState
مشتق میشوند.
با این تغییر، تابع MediaDataManager#createActionsFromState
اطلاعات دکمه عمل را براساس وضعیت عمل PlaybackState تولید میکند.
این با نحوه ارائه کنترلهای رسانه در دیگر پلاتفرمهای Android مانند Auto، «دستیار»، و Wear مطابقت دارد.
درمقابل، در Android 12، دکمههای کنش در کنترلهای رسانه براساس کنشهای اعلان
افزودهشده به MediaStyle
اعلان تعیین میشد.
برای خلاصه تغییرات سازگار با برنامه برای بهروزرسانیهای دکمه کنش، به
StatusBarManager مراجعه کنید.
Remote playback API
برای ارائه تجربه رسانهای یکپارچه در سطوح مختلف، از Android 13 به بعد،
میانای برنامهسازی کاربردی سیستم جدیدی Notification#setRemotePlaybackInfo
برای علامتگذاری اعلانهای رسانه در میانای کاربر سیستم کنترل رسانه برای
بازپخش از دور اضافه میشود. این «میانای برنامهسازی کاربردی» به برنامههای سیستم که اعلانها را پست میکنند اجازه میدهد کارهای زیر را انجام دهند:
- اطلاعات و عملکردی برای رسانههایی که در دستگاه ازراهدور ایجاد شدهاند به مبدل برونداد پیشفرض در کنترل رسانه ارائه میدهد.
- درصورت لزوم، جایگزین کردن امکانات تعویض برونداد.
برنامههای سیستم که از این اعلان استفاده میکنند باید اجازه MEDIA_CONTENT_CONTROL
را داشته باشند.
API Notification#setRemotePlaybackInfo همچنین موارد زیر را برای تعیین نام، نماد، و هدف دستگاه بازپخش از دور اضافه میکند: extras
Notification#EXTRA_MEDIA_REMOTE_DEVICENotification#EXTRA_MEDIA_REMOTE_ICONNotification#EXTRA_MEDIA_REMOTE_INTENT
با این اطلاعات، «واسط کاربر سیستم» میتواند تراشه مبدل خروجی پیشفرض را با اطلاعات دستگاه جایگزین کند و کنترل رسانه برای بازپخش از دور را به انتهای فهرست کنترلهای رسانه محلی اضافه کند.
پیادهسازی کنترل رسانه
سازندگان اصلی تجهیزات باید از این تغییر در رفتار پیشفرض مطلع باشند، زیرا بر نحوه تولید کنترلهای رسانه برای برنامهها تأثیر میگذارد. تولیدکنندگان تجهیزات اصلی باید همچنین اطمینان یابند که سیستم جدید API در قابلیت تعویض خروجی آنها بهصورت مناسب کار میکند.
«تولیدکنندگان تجهیزات اصلی» ملزم به ایجاد هیچ تغییری نیستند و میتوانند از پیادهسازی پیشفرض در 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] مراجعه کنید.