تعمل تطبيقات الوسائط التي تتفاعل صوتيًا مع "مساعد Google" على هواتف Android والسيارات وأجهزة التلفزيون وسماعات الرأس باستخدام واجهات برمجة تطبيقات جلسات الوسائط في Android وتستخدم إجراءات الوسائط. قد يكون من الصعب تتبُّع دورة حياة إجراء الوسائط. حتى طلب تشغيل بسيط من البحث يتضمّن العديد من الخطوات الوسيطة التي قد تحدث فيها مشكلة، كما هو موضّح في المخطط الزمني المبسّط:
يتيح لك تطبيق Media Controller Test (MCT) اختبار تعقيدات تشغيل الوسائط على Android ويساعدك في التحقّق من تنفيذ جلسة الوسائط.
يتوفّر تطبيق Media Controller Test بإصدارَين:
- يتم تنفيذ تطبيق العميل على
MediaControllerCompat
القديم. يتيح ذلك اختبار تطبيق جلسة الوسائط الذي تم إنشاؤه استنادًا إلىMediaSessionCompat
قديم أوMediaSession
Media3 عند وصول تطبيق خارجي إليه من خلالMediaControllerCompat
قديم. ابحث عن الرمز المصدر للإصدار القديم على GitHub. - يتم تنفيذ تطبيق العميل على أحدث إصدار من Media3
MediaController
. يتيح ذلك اختبار تطبيق جلسة الوسائط الذي تم إنشاؤه استنادًا إلىMediaSessionCompat
قديم أوMediaSession
Media3 عند وصول أحد التطبيقات الخارجية إليه من خلالMediaController
Media3. يمكنك العثور على الرمز المصدر لإصدار Media3 على GitHub.
يعرض "أداة التحكّم في الوسائط" معلومات عن MediaController
تطبيقك، مثل
PlaybackState
والبيانات الوصفية، ويمكن استخدامها لاختبار عناصر التحكّم في الوسائط داخل التطبيقات.
يتضمّن MCT أيضًا إطار عمل اختبار التحقّق الذي
يتيح لك التشغيل الآلي لاختبار ضمان الجودة.
لاستخدام واجهة برمجة التطبيقات هذه، يجب أن يتضمّن تطبيقك خدمة تصفّح وسائط، ويجب السماح لواجهة برمجة التطبيقات بالاتصال بها. اطّلِع على مقالة إنشاء خدمة تصفّح وسائط للحصول على مزيد من المعلومات.
بدء عملية MCT

عند تشغيل "شركاء المحتوى في YouTube"، ستظهر لك قائمتان:
- جلسات MediaSession النشطة: تكون هذه القائمة فارغة في البداية عند تشغيل MCT، وستظهر لك الرسالة "لم يتم العثور على أي تطبيقات وسائط. الإشعار يجب الحصول على إذن المستمع للبحث عن جلسات الوسائط النشطة". انقر على الإعدادات للانتقال إلى شاشة الأذونات وتفعيل الإذن لخدمة "المعالجة المحدودة للبيانات".
- عمليات تنفيذ MediaBrowserService: تعرض هذه القائمة التطبيقات التي نفّذت خدمة تصفّح وسائط. إذا نفّذت خدمة متصفّح وسائط، سيظهر تطبيقك في هذه القائمة، ولكن لا يمكنك استخدام MCT إلا إذا أعددت تطبيقك لقبول جميع عمليات الربط أو أدرجت MCT في القائمة المسموح بها. اطّلِع على التحكّم في اتصالات العملاء باستخدام دالة onGetRoot() لمزيد من المعلومات.
اختبار تطبيق هاتف يدويًا
إذا سمحت لـ MCT بالاتصال بخدمة متصفّح الوسائط في تطبيقك، سيظهر تطبيقك في قائمة عمليات تنفيذ قائمة خدمة متصفّح الوسائط. ابحث عنه هناك وانقر على تحكّم لبدء تشغيل تطبيقك في الخلفية.
بخلاف ذلك، عليك أولاً تشغيل تطبيقك بنفسك في الخلفية، ثم النقر على التحكّم عندما يظهر في قائمة جلسات الوسائط النشطة.
اختبار الاستعداد والتشغيل
عندما يبدأ "المعالج المركزي للوسائط" في التحكّم في تطبيقك، يعرض بيانات جلسة التطبيق الوصفية: الوسائط المحدّدة حاليًا والإجراءات التي تم إعداد الجلسة لتتمكّن من تنفيذها.

يحتوي أعلى صفحة عناصر التحكّم في MCT على قائمة منسدلة يمكنك من خلالها اختيار البحث أو معرّف الموارد المنتظم (URI) أو معرّف الوسائط أو بدون، بالإضافة إلى حقل نصي لتحديد بيانات الإدخال المرتبطة بالبحث أو معرّف الموارد المنتظم (URI) أو معرّف الوسائط في حال تحديد أحد هذه الخيارات.
يؤدي الزرّان إعداد وتشغيل أسفل حقل النص مباشرةً إلى تنفيذ
الطلبات المناسبة (onPrepare()
وonPrepareFromSearch()
وonPrepareFromUri()
onPrepareFromMediaId()
وonPlay()
وonPlayFromSearch()
وonPlayFromUri()
onPlayFromMediaId()
) استنادًا إلى الإجراء الذي اخترته.
اختبار ميزة "التركيز على الصوت"
يجب أن يكون تطبيق الوسائط المتوافق قادرًا على معالجة تركيز المحتوى الصوتي. يمكنك اختبار ميزة "التركيز على الصوت" من خلال تشغيل تطبيق صوتي آخر إلى جانب تطبيقك. تتضمّن صفحة عناصر التحكّم في ميزة "إدارة الطاقة الذكية" (MCT) زرًا لطلب ميزة "التركيز على الصوت" وإلغائها.
لاختبار ميزة "تركيز الصوت"، اتّبِع الخطوات التالية:
- استخدِم القائمة المنسدلة Audio Focus (تركيز الصوت) لاختيار أحد التلميحَين التاليَين للمدة:
AUDIOFOCUS_GAIN
أوAUDIOFOCUS_GAIN_TRANSIENT
أوAUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK
. - اضغط على الزر لطلب التركيز.
- اضغط على الزر مرة أخرى لإيقاف التركيز.
اختبار عناصر التحكّم في النقل

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

للوصول إلى اختبارات إثبات الملكية، انقر على الزر اختبار بجانب تطبيق الوسائط.
حالة MCT

تعرِض لك طريقة العرض التالية معلومات تفصيلية حول MediaController
في "الحملات على شبكة البحث"،
مثل PlaybackState
والبيانات الوصفية والقائمة. هناك زران في
أعلى يسار شريط الأدوات. يتيح الزرّ على يمين الصفحة التبديل بين السجلات القابلة للتحليل
والسجّلات المنسَّقة. يُعيد الزرّ على يسار الصفحة تحميل طريقة العرض لعرض
أحدث المعلومات.
اختيار اختبار

من خلال التمرير سريعًا إلى اليسار، ستنتقل إلى عرض اختبارات إثبات الملكية، حيث يمكنك الاطّلاع على قائمة قابلة للتنقّل بالاختبارات المتاحة. إذا كان الاختبار يستخدِم طلب بحث، مثل اختبار التشغيل من نتائج البحث المعروض في الشكل 7، يتوفّر فيه حقل نصي لإدخال سلسلة الطلب.
يتضمّن نموذج اختبارات الأداء التسويقي (MCT) اختبارات لإجراءات الوسائط التالية، ويتم باستمرار إضافة المزيد من الاختبارات إلى المشروع:
- تشغيل
- التشغيل من نتائج البحث
- معرّف الوسائط لتشغيل المحتوى
- التشغيل من عنوان URI
- إيقاف مؤقت
- إيقاف
- التخطّي إلى التالي
- التخطّي إلى السابق
- التخطّي إلى عنصر في "قائمة المحتوى التالي"
- التقديم/الترجيع إلى
نتائج الاختبار

تكون منطقة النتائج في أسفل العرض فارغة في البداية. وسيعرض النتائج عند إجراء اختبار. على سبيل المثال، لإجراء اختبار تشغيل المحتوى من نتائج البحث، أدخِل طلب بحث في حقل النص وانقر على تشغيل الاختبار. تعرِض لقطة الشاشة التالية نتيجة اختبار ناجحة.
اختبار تطبيق Android TV
عند تشغيل أداة MCT على Android TV، ستظهر لك قائمة بتطبيقات الوسائط المثبَّتة. يُرجى العِلم أنّ التطبيق لن يظهر في هذه القائمة إلا إذا كان ينفِّذ خدمة متصفّح وسائط.
يؤدي اختيار تطبيق إلى نقلك إلى شاشة الاختبار التي تعرض قائمة باختبارات إثبات الهوية على يسار الصفحة.
عند إجراء اختبار، يعرض الجانب الأيسر من الشاشة معلومات عن MediaController المحدّد. لمزيد من التفاصيل، اطّلِع على سجلّات MCT في Logcat.
يتم وضع علامة رمز لوحة المفاتيح على الاختبارات التي تتطلّب طلب بحث. يؤدي النقر على أحد هذه الاختبارات إلى فتح حقل إدخال لطلب البحث. انقر على Enter لإجراء الاختبار.
لتسهيل إدخال النص، يمكنك أيضًا استخدام الأمر adb
:
adb shell input text your-query
يمكنك استخدام %s لإضافة مسافة بين الكلمات. على سبيل المثال، يُضيف الرمز التالي النص "مرحبًا يا عالم" إلى حقل الإدخال.
adb shell input text hello%sworld
إنشاء اختبار
يمكنك إرسال طلب سحب يتضمّن المزيد من الاختبارات التي تعتقد أنّها مفيدة. للتعرّف على كيفية إنشاء اختبارات جديدة، يُرجى الانتقال إلى MCT GitHub Wiki والاطّلاع على تعليمات اختبار إثبات الملكية.
يُرجى مراجعة تعليمات المساهمة.
مصادر إضافية
يُقصد استخدام MCT مع التطبيقات التي تُنفِّذ واجهات برمجة تطبيقات الوسائط. يمكنك الاطّلاع على Universal Android Music Player للحصول على مثال على هذا النوع من التطبيقات.
ونرحّب دائمًا بإصلاح الأخطاء وإجراء التحسينات. يُرجى الاطّلاع على تعليمات المساهمة.