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

مشغّل الوسائط
مشغّل الوسائط هو مكوّن من مكوّنات تطبيقك يسمح بتشغيل ملفات الوسائط. في 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 من المهندسين الذين أنشأوه.
روابط مفيدة
- مركز المطوّرين في "مركز الوسائط"
ExoPlayer
مستندات Google- دليل نقل البيانات
- AndroidX Media3 على GitHub
- نموذج تطبيق جلسة الوسائط Media3
- نموذج تطبيق "مشغّل الموسيقى" العام لنظام التشغيل Android