استخدام تطبيق تجريبي لوحدة التحكّم في الوسائط

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

مراحل نشاط مَهمة محتوى الوسائط

الشكل 1. مراحل نشاط مَهمة محتوى الوسائط

يتيح لك تطبيق Media Controller Test (MCT) اختبار مدى تعقيد تشغيل الوسائط على Android ويساعدك في التحقّق من تنفيذ جلسة الوسائط.

يتوفّر تطبيق Media Controller Test في إصدارَين:

  • يتم تنفيذ تطبيق العميل على الإصدار القديم من MediaControllerCompat. يتيح ذلك اختبار تطبيق جلسة الوسائط المستنِد إلى MediaSessionCompat القديم أو Media3 MediaSession عند وصول تطبيق خارجي إليه من خلال MediaControllerCompat قديم. يمكنك العثور على الرمز المصدر للإصدار القديم على GitHub.
  • يتم تنفيذ تطبيق العميل على أحدث إصدار من Media3 MediaController. يتيح ذلك اختبار تطبيق جلسة الوسائط المستنِد إلى MediaSessionCompat القديم أو Media3 MediaSession عند وصول تطبيق خارجي إليه من خلال Media3 MediaController. يمكنك العثور على الرمز المصدر لإصدار Media3 على GitHub.

تعرض أداة MCT معلومات عن MediaController في تطبيقك، مثل PlaybackState والبيانات الوصفية، ويمكن استخدامها لاختبار أدوات التحكّم في الوسائط بين التطبيقات. تتضمّن أداة MCT أيضًا إطار عمل لاختبار عملية التحقّق يتيح لك إجراء اختبارات تأكيد الجودة بشكل مبرمَج.

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

بدء استخدام MCT

صفحة إطلاق MCT
الشكل 2. صفحة إطلاق MCT

عند تشغيل MCT، ستظهر لك قائمتان:

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

اختبار تطبيق هاتف يدويًا

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

بخلاف ذلك، عليك أولاً تشغيل تطبيقك بنفسك في الخلفية، ثم النقر على التحكّم عندما يظهر في قائمة جلسات الوسائط النشطة.

اختبار ميزة "الاستعداد واللعب"

عندما تبدأ أداة MCT في التحكّم في تطبيقك، فإنّها تعرض البيانات الوصفية للجلسة الحالية للتطبيق: الوسائط المحدّدة حاليًا والإجراءات التي تكون الجلسة مستعدّة للتعامل معها.

صفحة التحكّم
الشكل 3: صفحة التحكّم

يحتوي الجزء العلوي من صفحة عناصر التحكّم في MCT على قائمة منسدلة يمكنك من خلالها اختيار بحث أو معرّف الموارد المنتظم (URI) أو معرّف الوسائط أو بلا، بالإضافة إلى حقل نصي لتحديد بيانات الإدخال المرتبطة بالبحث أو معرّف الموارد المنتظم (URI) أو معرّف الوسائط إذا حدّدت أحد هذه الخيارات.

يؤدي الزران إعداد وتشغيل أسفل حقل النص مباشرةً إلى إجراء المكالمات المناسبة (onPrepare() وonPrepareFromSearch() وonPrepareFromUri() وonPrepareFromMediaId() وonPlay() وonPlayFromSearch() وonPlayFromUri() وonPlayFromMediaId()) بناءً على الإجراء الذي حددته.

اختبار التركيز على الصوت

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

لاختبار التركيز على الصوت، اتّبِع الخطوات التالية:

  1. استخدِم القائمة المنسدلة التركيز على الصوت لاختيار أحد تلميحات المدة الثلاثة AUDIOFOCUS_GAIN أو AUDIOFOCUS_GAIN_TRANSIENT أو AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK.
  2. اضغط على الزر لطلب التركيز.
  3. اضغط على الزر مرة أخرى لإلغاء التركيز.

اختبار عناصر التحكّم في النقل

اختبار عناصر التحكّم في النقل
الشكل 4. اختبار عناصر التحكّم في النقل

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

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

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

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

اختبار تطبيق فيديو يدويًا

استخدِم وضع تقسيم الشاشة لاختبار عناصر التحكّم في تطبيقات الفيديو. أولاً، افتح تطبيق الفيديو في نافذة واحدة ثم افتح MCT في وضع تقسيم الشاشة.

جارٍ إجراء اختبارات التحقّق

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

اختبار تطبيق هاتف

زر الاختبار
الشكل 5. زر الاختبار

للوصول إلى اختبارات التحقّق، انقر على الزر اختبار بجانب تطبيق الوسائط.

حالة MCT

حالة التحكّم في الوسائط
الشكل 6 حالة التحكّم في الوسائط

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

اختيار اختبار

صفحة اختيار الاختبار
الشكل 7. صفحة اختيار الاختبار

من خلال التمرير سريعًا إلى اليمين، ستصل إلى عرض اختبارات التحقّق، حيث يمكنك الاطّلاع على قائمة قابلة للتمرير للاختبارات المتاحة. إذا كان الاختبار يستخدم طلب بحث، مثل اختبار التشغيل من البحث الموضّح في الشكل 7، يتوفّر حقل نصي لإدخال سلسلة طلب البحث.

تتضمّن أداة MCT اختبارات لإجراءات الوسائط التالية، وتتم إضافة المزيد من الاختبارات باستمرار إلى المشروع:

  • تشغيل
  • التشغيل من "بحث Google"
  • التشغيل من رقم تعريف الوسائط
  • التشغيل من معرّف الموارد المنتظم (URI)
  • إيقاف مؤقت
  • إيقاف
  • التخطّي إلى التالي
  • التخطّي إلى السابق
  • التخطّي إلى عنصر في قائمة المحتوى التالي
  • التقديم/الترجيع إلى

نتائج الاختبار

نتيجة اختبار ناجحة
الشكل 8 نتيجة اختبار ناجحة

تكون منطقة النتائج في أسفل العرض فارغة في البداية. وستظهر النتائج عند إجراء الاختبار. على سبيل المثال، لتشغيل اختبار التشغيل من البحث، أدخل طلب بحث في حقل نص وانقر فوق تشغيل الاختبار. تعرض لقطة الشاشة التالية نتيجة اختبار ناجحة.

اختبار تطبيق Android TV

عند تشغيل MCT على Android TV، ستظهر لك قائمة بتطبيقات الوسائط المثبَّتة. يُرجى العِلم أنّ التطبيق لن يظهر في هذه القائمة إلا إذا كان يستخدم خدمة تصفُّح الوسائط.

صفحة إطلاق MCT على التلفزيون

الشكل 9: صفحة إطلاق MCT على التلفزيون

يؤدي اختيار تطبيق إلى نقلك إلى شاشة الاختبار التي تعرض قائمة باختبارات التحقّق على يسار الصفحة.

صفحة "اختبارات التحقّق" على التلفزيون

الشكل 10: صفحة "اختبارات التحقّق" على التلفزيون

عند إجراء اختبار، يعرض الجانب الأيمن من الشاشة معلومات عن MediaController المحدّد. لمزيد من التفاصيل، يُرجى الاطّلاع على سجلّات MCT في Logcat.

صفحة معلومات الاختبار على التلفزيون

الشكل 11: صفحة معلومات الاختبار على التلفزيون

يتم وضع علامة رمز لوحة المفاتيح على الاختبارات التي تتطلّب إدخال طلب بحث. يؤدي النقر فوق أحد هذه الاختبارات إلى فتح حقل إدخال للاستعلام. انقر على Enter لإجراء الاختبار.

لتسهيل إدخال النص، يمكنك أيضًا استخدام أمر adb:

adb shell input text your-query

يمكنك استخدام "%s" لإضافة مسافة بين الكلمات. على سبيل المثال، يضيف الأمر التالي النص "مرحبًا" إلى حقل الإدخال.

adb shell input text hello%sworld

إنشاء اختبار

يمكنك إرسال طلب سحب يتضمّن المزيد من الاختبارات التي تعتقد أنّها مفيدة. لمعرفة كيفية إنشاء اختبارات جديدة، يُرجى الانتقال إلى MCT GitHub Wiki والاطّلاع على تعليمات اختبار التحقّق.

لمزيد من المعلومات، يُرجى مراجعة تعليمات المساهمة.

مراجع إضافية

تم تصميم MCT ليتم استخدامه مع التطبيقات التي تستخدم واجهات برمجة تطبيقات الوسائط. يمكنك الاطّلاع على مشغّل الموسيقى العام على Android للحصول على مثال على هذا التطبيق.

نرحّب دائمًا بإصلاح الأخطاء وإجراء التحسينات. يُرجى الاطّلاع على تعليمات المساهمة.