مقدّمة عن Jetpack Media3

‫Jetpack Media3 هي المكتبة الجديدة للوسائط التي تتيح لتطبيقات Android عرض تجارب صوتية ومرئية غنية. يوفّر Media3 بنية بسيطة تتضمّن ميزات تخصيص وموثوقية وتحسينات فعّالة استنادًا إلى قدرات الأجهزة لإزالة التعقيد الناتج عن التجزئة.

يوفّر هذا المستند مقدمة عن واجهات برمجة التطبيقات الرئيسية لتنفيذ حالات استخدام التشغيل و التعديل باستخدام Media3.

مكونات التشغيل

يوفّر Media3 العديد من المكونات الرئيسية لحالات استخدام التشغيل. ستكون الفصول التي تكوّن هذه المكوّنات مألوفة لك إذا كنت قد عملت مع مكتبات وسائط Android السابقة.

يوضّح الرسم البياني التالي كيفية تجميع هذه المكوّنات في تطبيق نموذجي.

ترتبط المكونات المختلفة لتطبيق وسائط يستخدم Media3
  معًا بعدة طرق بسيطة بسبب مشاركة الواجهات
  والفئات.
الشكل 1: مكوّنات تطبيق الوسائط

مشغّل الوسائط

مشغّل الوسائط هو مكوّن من مكوّنات تطبيقك يسمح بتشغيل ملفات الوسائط. في Media3، يمكنك العثور على ما يلي:

الفئة الوصف ملاحظة حول التنفيذ
Player Player هي واجهة تحدّد إمكانات تقليدية عالية المستوى لمشغّل الوسائط، مثل إمكانية التشغيل والإيقاف المؤقت والتقديم/الترجيع. في Media3، واجهة Player هي واجهة برمجة تطبيقات شائعة تم تنفيذها أو استخدامها من قِبل عدة مكوّنات، بما في ذلك MediaSession و MediaController، على سبيل المثال.
ExoPlayer ExoPlayer هو التنفيذ التلقائي لواجهة Player في Media3.

مزيد من المعلومات حول Media3 ExoPlayer

جلسة تشغيل الوسائط

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

الفئة الوصف ملاحظة حول التنفيذ
MediaSession تتيح جلسات الوسائط لتطبيقك التفاعل مع مشغّل صوت أو فيديو. وهي تعلن عن تشغيل الوسائط خارجيًا وتتلقّى أوامر التشغيل من مصادر خارجية. في Media3، يحتاج MediaSession إلى Player ل ejecutando los comandos y obtener el estado actual.
MediaSessionService يحتفظ MediaSessionService بجلسة وسائط ومشغّلها المرتبط بها في خدمة منفصلة عن Activity الرئيسي في تطبيقك لتسهيل التشغيل في الخلفية.
MediaController تُستخدَم فئة MediaController بشكل عام لإرسال الأوامر من خارج تطبيقك، على سبيل المثال، من تطبيقات أخرى أو من النظام نفسه. يتم إرسال الأوامر إلى Player الأساسية للMediaSession المرتبطة. تُنفِّذ فئة MediaController واجهة Player ، ولكن عند استدعاء طريقة، تُرسِل MediaController الأمر المُرسَل إلى العنصر MediaSession المرتبط. يمكن لتطبيقات العميل، مثل "مساعد Google"، استخدام MediaController للتحكّم في التشغيل في جلسة مرتبطة.
MediaLibraryService يشبه MediaLibraryService MediaSessionService، إلا أنّه يتضمّن واجهتَي برمجة تطبيقات إضافيتَين حتى تتمكّن من عرض مكتبة المحتوى الخاصة بك للتطبيقات العميلة.
MediaBrowser تسمح فئة MediaBrowser للمستخدم بالتنقّل في مكتبة محتوى تطبيق الوسائط واختيار العناصر التي يريد تشغيلها. تنفِّذ فئة MediaBrowser كلّ من واجهتَي MediaController وPlayer. على غرار MediaController، تُنفِّذ تطبيقات العميل، مثل Android Auto، بشكل عام MediaBrowser.

مزيد من المعلومات عن Media3 MediaSession

مكونات واجهة المستخدم

يوفّر Media3 مكوّنات واجهة مستخدِم تلقائية لعرض الفيديو والتحكّم في تشغيله.

الفئة الوصف ملاحظة حول التنفيذ
PlayerView رمز View التلقائي لعرض عناصر التحكّم في الفيديو والتشغيل يتم الاتصال بـ ExoPlayer أو MediaController أو أي قيمة مخصّصة أخرى من النوع Player.

مزيد من المعلومات حول واجهة مستخدم Media3 UI

تعديل المكوّنات

تتضمّن Media3 واجهات برمجة التطبيقات Transformer لاستخدامات تعديل الوسائط، بما في ذلك:

  • معالجة الصوت والفيديو، مثل إضافة فلاتر وتأثيرات
  • معالجة التنسيقات الخاصة، مثل الفيديوهات بنطاق عالي الديناميكية والفيديوهات البطيئة
  • الإنشاء، مثل دمج ملفات إدخال متعددة
  • تصدير النتيجة النهائية إلى ملف
الفئة الوصف ملاحظة حول التنفيذ
Transformer استخدِم فئة Transformer لبدء عمليات التحويل وإيقافها وللاطّلاع على آخر المعلومات عن مستوى التقدّم في عملية تحويل جارية.
Effects عنصر Effects هو مجموعة من تأثيرات الصوت والفيديو لتطبيقها على عنصر وسائط.
EditedMediaItem تمثّل السمة EditedMediaItem عنصر وسائط يجب معالجته والتعديلات التي يجب تطبيقها عليه. يمكنك استخدام ExoPlayer لمعاينة التأثيرات التي تمت إضافتها إلى عنصر إعلام قبل بدء عملية التصدير.

مزيد من المعلومات حول Media3 Transformer

فيديو تقديمي

يمكنك مشاهدة الفيديو أدناه للاطّلاع على مقدمة عن Media3 من المهندسين الذين أنشأوه.