عرض بطاقة "التعرّف التلقائي على الموسيقى"

ويمكن لتطبيقات التلفزيون التي تشغِّل الصوت مواصلة هذا الإجراء بعد عودة المستخدم إلى الشاشة الرئيسية أو التبديل إلى تطبيق آخر. لإجراء ذلك، يجب أن يوفّر التطبيق بطاقة التعرّف التلقائي على الموسيقى على الشاشة الرئيسية. تتيح هذه البطاقة للمستخدمين معرفة مصدر الصوت والعودة إلى تطبيقك للتحكّم في تشغيل الوسائط.

وعند توفُّر MediaSession نشط، يعرض إطار عمل Android بطاقة التعرّف التلقائي على الموسيقى على الشاشة الرئيسية. وتتضمن البطاقة بيانات وصفية للوسائط، مثل صورة الألبوم وعنوانه ورمز التطبيق. عندما يختار المستخدم البطاقة، يفتح النظام التطبيق.

بطاقة "التعرّف التلقائي على الموسيقى"

بعد تنفيذ جلسة وسائط وضبط الجلسة على نشطة وطلب التركيز على الصوت، تظهر بطاقة التعرّف التلقائي على الموسيقى.

ملاحظة: لا يتم عرض بطاقة التعرّف التلقائي على الموسيقى إلا لجلسة وسائط تم فيها وضع علامة FLAG_HANDLES_TRANSPORT_CONTROLS. تم إيقاف هذه العلامة نهائيًا في المستوى 26 من واجهة برمجة التطبيقات. ومع ذلك، قد تظل هذه العلامة مطلوبة على الأجهزة القديمة للتوافق مع الأنظمة القديمة.

تتم إزالة البطاقة من شاشة مشغّل التطبيقات عندما يتم إيقاف جلسة الوسائط عبر طلب setActive(false) أو عندما يبدأ تطبيق آخر تشغيل الوسائط. إذا توقف التشغيل تمامًا ولم تكن هناك وسائط نشطة، يمكنك إيقاف جلسة تشغيل الوسائط فورًا. إذا تم إيقاف التشغيل مؤقتًا، أوقِف جلسة الوسائط بعد فترة تأخير، عادةً ما تكون من 5 إلى 30 دقيقة.

تعديل البطاقة

عندما يعدّل تطبيقك حالة التشغيل في MediaSession، يتم تعديل بطاقة التعرّف التلقائي على الموسيقى لعرض حالة الوسائط الحالية. لمعرفة كيفية إجراء ذلك، يمكنك الاطّلاع على تعديل حالة التشغيل.

وبالمثل، يمكن لتطبيقك تعديل MediaMetadata لتقديم معلومات إلى بطاقة التعرّف التلقائي على الموسيقى عن الوسائط الحالية، مثل العنوان والعنوان الفرعي والرموز المختلفة. للتعرّف على طريقة إجراء ذلك، يمكنك الاطّلاع على تعديل البيانات الوصفية للوسائط.

الرد على إجراء المستخدم

عندما يختار المستخدم بطاقة التعرّف التلقائي على الموسيقى، يفتح النظام التطبيق الذي يملك الجلسة. إذا كان تطبيقك يوفِّر PendingIntent إلى setSessionActivity()، سيطلق النظام النشاط الذي تحدّده، كما هو موضَّح في مقتطف الرمز التالي. وإذا لم يكن الأمر كذلك، سيتم فتح الغرض التلقائي للنظام. يجب أن يوفّر النشاط الذي تحدّده عناصر تحكّم في التشغيل تتيح للمستخدمين إيقاف التشغيل مؤقتًا أو إيقافه.

Kotlin

val pi: PendingIntent = Intent(context, MyActivity::class.java).let { intent ->
    PendingIntent.getActivity(
            context, 99 /*request code*/,
            intent,
            PendingIntent.FLAG_UPDATE_CURRENT
    )
}
session.setSessionActivity(pi)

Java

Intent intent = new Intent(context, MyActivity.class);
PendingIntent pi = PendingIntent.getActivity(context, 99 /*request code*/,
        intent, PendingIntent.FLAG_UPDATE_CURRENT);
session.setSessionActivity(pi);

حالات الاستخدام المقبولة

يجب استخدام بطاقة التعرّف التلقائي على الموسيقى فقط في الحالات التي يتوقّع فيها المستخدم مواصلة تشغيل الصوت في الخلفية عند مغادرة التطبيق. ويجب أن يتم دائمًا إيقاف تشغيل الفيديو أو الصوت في اللعبة مؤقتًا، ما لم يكن تطبيقك يدمج التطبيق ويتوافق مع ميزة "نافذة ضمن النافذة".