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
لتنفيذ الأوامر والحصول على الحالة الحالية.
|
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 مخصّص آخر.
|
PlayerSurface |
دالة مركّبة تمثّل رسمًا مخصّصًا
Surface
لعرض الفيديو
|
يتصل بأي جهاز Player، ولكنّه لا يحتوي على عناصر تحكّم في التشغيل.
يُستخدم فقط لعرض الإطارات ويمكن تغيير حجمه وفقًا لأنواع
ContentScale المختلفة. يمكن العثور على هذه الدالة المركّبة والعديد من الدوال الأخرى في أدوات واجهة مستخدم Compose.
|
مزيد من المعلومات حول واجهة مستخدم Media3
تعديل المكوّنات
تتضمّن Media3 واجهات برمجة التطبيقات Transformer API لحالات استخدام تعديل الوسائط، بما في ذلك:
- معالجة الصوت والفيديو، مثل إضافة الفلاتر والتأثيرات
- التعامل مع التنسيقات الخاصة، مثل فيديو HDR وفيديو الحركة البطيئة
- التركيب، مثل دمج ملفات إدخال متعددة
- تصدير الناتج النهائي إلى ملف
| الفئة | الوصف | ملاحظة حول التنفيذ |
|---|---|---|
Transformer |
استخدِم الفئة Transformer لبدء عمليات التحويل وإيقافها
والتحقّق من آخر المعلومات عن مستوى تقدّم عملية تحويل جارية.
|
|
Effects |
عنصر Effects هو مجموعة من تأثيرات الصوت والفيديو
التي يمكن تطبيقها على ملف وسائط.
|
يمكنك استخدام ExoPlayer لمعاينة المؤثرات المضافة إلى ملف وسائط
قبل بدء عملية التصدير.
|
EditedMediaItem |
يمثّل EditedMediaItem ملف وسائط مطلوب معالجته
والتعديلات المطلوب تطبيقها عليه.
|
مزيد من المعلومات حول Media3 Transformer
فيديو تقديمي
شاهِد هذا الفيديو للحصول على مقدّمة حول Media3 من المهندسين الذين صمّموه:
روابط مفيدة
- مركز مطوّري الوسائط
ExoPlayerمستند- دليل نقل البيانات
- AndroidX Media3 على GitHub
- نموذج تطبيق لجلسة وسائط Media3
- نموذج تطبيق Universal Android Music Player