إنّ Jetpack Media3 هي الوجهة الجديدة لمكتبات الوسائط التي تتيح لتطبيقات Android عرض تجارب صوتية ومرئية غنية. توفّر Media3 بنية بسيطة تتضمّن ميزات تخصيص وموثوقية وتحسينات فعّالة استنادًا إلى إمكانات الجهاز لتجنّب التعقيد الذي يتسبب به التقسيم.
يقدم هذا المستند مقدمة لواجهات برمجة التطبيقات الرئيسية لتنفيذ حالات الاستخدام للتشغيل وتعديلها باستخدام Media3.
مكونات التشغيل
تقدم Media3 العديد من المكونات الرئيسية لحالات استخدام التشغيل. ستكون الفئات التي تشكل هذه المكوّنات مألوفة لك إذا كنت قد عملت على مكتبات وسائط Android السابقة.
يوضح الرسم التخطيطي التالي كيفية تجميع هذه المكونات معًا في تطبيق نموذجي.
![ترتبط المكونات المختلفة لتطبيق الوسائط الذي يستخدم Media3 معًا بعدة طرق بسيطة بسبب مشاركتها للواجهات والفئات.](https://developer.android.google.cn/static/guide/topics/media/images/overview.png?authuser=5&hl=ar)
مشغّل الوسائط
مشغّل الوسائط هو مكوّن في تطبيقك يسمح بتشغيل ملفات الوسائط. ستجد في 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 ، ولكن عند استدعاء طريقة، يتم إرسال الأمر إلى MediaSession المتصلة. ويمكن لتطبيقات العميل، مثل "مساعد Google"، استخدام MediaController للتحكّم في التشغيل في جلسة مرتبطة.
|
MediaLibraryService |
وتشبه السمة MediaLibraryService السمة MediaSessionService ، باستثناء أنّها تتضمّن واجهات برمجة تطبيقات إضافية لتتمكّن من عرض مكتبة المحتوى الخاصة بك على تطبيقات العملاء.
|
|
MediaBrowser |
تسمح الصف MediaBrowser للمستخدم بالتنقل عبر مكتبة محتوى تطبيق الوسائط واختيار العناصر المراد تشغيلها.
|
تستخدم الفئة MediaBrowser الواجهتَين MediaController وPlayer معًا. على غرار MediaController ، تستخدم تطبيقات العملاء، مثل Android Auto، السمة MediaBrowser بشكل عام.
|
مزيد من المعلومات عن MediaSession MediaSession
مكونات واجهة المستخدم
توفر Media3 مكونات افتراضية لواجهة المستخدم لعرض الفيديو والتحكم في تشغيله.
الفئة | الوصف | ملاحظة بالتنفيذ |
---|---|---|
PlayerView |
View تلقائي لعرض عناصر التحكم في الفيديو والتشغيل.
|
الاتصال بـ ExoPlayer أو MediaController أو أي Player مخصَّص آخر.
|
مزيد من المعلومات عن واجهة مستخدم Media3
تعديل المكوّنات
تتضمن Media3 حالات استخدام Transformer API لتعديل الوسائط، بما في ذلك:
- معالجة الصوت والفيديو، مثل إضافة الفلاتر والتأثيرات
- التعامل مع التنسيقات الخاصة، مثل فيديو بنطاق عالي الديناميكية (HDR) وفيديوهات بالتصوير البطيء
- المقطوعات الموسيقية، مثل الجمع بين ملفات إدخال متعددة
- تصدير المخرجات النهائية إلى ملف
الفئة | الوصف | ملاحظة بالتنفيذ |
---|---|---|
Transformer |
استخدِم فئة Transformer لبدء عمليات تحويل وإيقافها والتحقّق من مدى التقدّم في عملية تحويل جارية.
|
|
Effects |
عنصر Effects هو مجموعة من تأثيرات الصوت والفيديو
التي يتم تطبيقها على عنصر وسائط.
|
|
EditedMediaItem |
وتمثّل السمة EditedMediaItem عنصر وسائط مطلوب معالجته
والتعديلات التي يتم تطبيقها عليه.
|
يمكنك استخدام ExoPlayer لمعاينة التأثيرات التي تمت إضافتها إلى عنصر وسائط قبل بدء عملية التصدير.
|
مزيد من المعلومات عن Media3 Transformer
فيديو تقديمي
انظر الفيديو أدناه للحصول على مقدمة عن Media3 من المهندسين الذين قاموا بإنشائها.
روابط مفيدة
- مركز مطوّري الوسائط
ExoPlayer
مستندات- دليل نقل البيانات
- AndroidX Media3 على GitHub
- نموذج تطبيق لجلسة وسائط Media3
- نموذج تطبيق Universal Android Music Player