بدءًا من Android 13، تتضمّن عناصر التحكّم في الوسائط في واجهة مستخدم النظام تعديلات على أزرار الإجراءات وتشغيل الوسائط عن بُعد. توفّر هذه التغييرات تجربة التحكّم في الوسائط بشكلٍ أفضل على الهواتف والأجهزة اللوحية، كما توفّر إمكانية نقل الوسائط بسلاسة على جميع الأجهزة.
تعديلات على عناصر التحكّم في الوسائط
يوضّح هذا القسم التعديلات التي تم إجراؤها على عناصر التحكّم في الوسائط في Android 13 لزرّات الإجراءات وتشغيل الوسائط عن بُعد.
تغييرات زر الإجراء
لضمان تمكّن المستخدمين من الوصول إلى مجموعة غنية من عناصر التحكّم في الوسائط للتطبيقات التي تشغّل الوسائط، يتم اشتقاق أزرار الإجراءات في عناصر التحكّم في الوسائط لنظام التشغيل Android 13
من حالات الإجراء PlaybackState
.
بعد إجراء هذا التغيير، تنشئ الدالة MediaDataManager#createActionsFromState
معلومات زرّ الإجراء استنادًا إلى حالة الإجراء PlaybackState
.
يتوافق ذلك مع طريقة عرض عناصر التحكّم في الوسائط في أنظمة Android الأساسية الأخرى، مثل
Auto و"مساعد Google" وWear.
في المقابل، في Android 12، يتم تحديد أزرار الإجراءات في عناصر التحكّم في الوسائط من خلال إجراءات الإشعارات التي تتم إضافتها إلى إشعار MediaStyle
.
للحصول على ملخّص للتغييرات المتوافقة مع التطبيقات في تحديثات زرّ الإجراء، يُرجى الاطّلاع على
StatusBarManager
.
Remote playback API
لتقديم تجربة وسائط متسقة على مجموعة متنوعة من مساحات العرض، تمت إضافة واجهة برمجة تطبيقات جديدة للنظام Notification#setRemotePlaybackInfo
بدءًا من الإصدار Android 13، وذلك لتمييز إشعارات الوسائط على واجهة مستخدم نظام التحكّم في الوسائط لتشغيل المحتوى عن بُعد. تتيح واجهة برمجة التطبيقات هذه لتطبيقات النظام التي تنشر الإشعارات تنفيذ ما يلي:
- يجب توفير معلومات ووظائف للوسائط التي تأتي من جهاز عن بُعد إلى أداة التبديل التلقائية بين مشغلات الوسائط في عناصر التحكّم في الوسائط.
- استبدِل عنصر التحكّم في إخراج الصوت إذا لزم الأمر.
يجب أن يكون لدى تطبيقات النظام التي تستخدم هذا الإشعار إذن MEDIA_CONTENT_CONTROL
.
تضيف واجهة برمجة التطبيقات Notification#setRemotePlaybackInfo
أيضًا extras
التالية
لتحديد اسم جهاز التشغيل عن بُعد ورمزه وقصده:
Notification#EXTRA_MEDIA_REMOTE_DEVICE
Notification#EXTRA_MEDIA_REMOTE_ICON
Notification#EXTRA_MEDIA_REMOTE_INTENT
باستخدام هذه المعلومات، يمكن لواجهة المستخدم في النظام استبدال شريحة مبدّل الإخراج التلقائي بمعلومات الجهاز وإضافة وحدة التحكّم في الوسائط لتشغيل المحتوى عن بُعد إلى نهاية قائمة عناصر التحكّم في الوسائط على الجهاز.
تنفيذ عناصر التحكّم في الوسائط
يجب أن يكون المصنّعون الأصليون للأجهزة على دراية بهذا التغيير في السلوك التلقائي، لأنّه يؤثر في كيفية إنشاء عناصر التحكّم في الوسائط للتطبيقات. على المصنّعين الأصليين للأجهزة أيضًا التأكّد من أنّ واجهة برمجة التطبيقات الجديدة للنظام تعمل على النحو الملائم في واجهة تبديل الإخراج.
ولا يُطلب من المصنّعين الأصليّين للأجهزة إجراء أي تغييرات، ويمكنهم استخدام التنفيذ التلقائي في AOSP.
تخصيص ميزة التشغيل عن بُعد
في الحالات التي يكون فيها لدى المصنّع الأصلي للجهاز تطبيق نظام ينشر إشعارات بشأن تشغيل الوسائط عن بُعد، يمكن للتطبيق اختياريًا طلب setRemotePlaybackInfo
لتلقّي الإشعار طالما تم منحه إذن MEDIA_CONTENT_CONTROL
. ومع ذلك، هذا ليس شرطًا ويمكن للشريك اختيار عدم
التخصيص.
التحقّق من عناصر التحكّم في الوسائط
لاختبار عناصر التحكّم في الوسائط في واجهة المستخدم، يمكنك إجراء اختبار يدوي للتحقّق مما يلي:
- تعمل الأزرار على النحو المطلوب أثناء تشغيل الوسائط من أحد التطبيقات.
- يعرض مبدِّل الإخراج معلومات الجهاز الصحيحة.
استخدِم الاختبارات التالية للتحقّق من صحة واجهة برمجة التطبيقات Remote playback API:
- اختبارات مجموعة أدوات اختبار التوافق (CTS) في
NotificationManagerTest
، مثلtestMediaStyleRemotePlayback_noPermission
وtestMediaStyleRemotePlayback_hasPermission
- اختبارات الوحدة ضمن
com.android.systemui.media
يُرجى الرجوع إلى متطلّبات CDD الجديدة [3.8.3.1/H-1-SR] للحصول على اقتراحات.