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