AndroidX Media عبارة عن مجموعة من المكتبات لتنفيذ حالات استخدام الوسائط على Android، بما في ذلك التشغيل المحلي (عبر ExoPlayer)، وتحرير الفيديو (عبر Transformer) وجلسات الوسائط.
ستجد دليل الترحيل لمستخدمي ExoPlayer وMediaSession الحاليين على موقع Developer.android.com.
توفر إصدارات AndroidX Media ضمانات لاستقرار واجهة برمجة التطبيقات، مما يضمن بقاء سطح واجهة برمجة التطبيقات متوافقًا مع واجهات برمجة التطبيقات الأكثر استخدامًا. يتم وضع علامة على واجهات برمجة التطبيقات المخصصة لحالات الاستخدام الأكثر تقدمًا على أنها غير مستقرة. لاستخدام طريقة أو فئة غير مستقرة بدون تحذيرات من الوبر، ستحتاج إلى إضافة التعليق التوضيحي OptIn قبل استخدامه. لمزيد من المعلومات، راجع وثائق UnstableApi.
يمكنك الحصول على المكتبات من مستودع Google Maven. من الممكن أيضًا استنساخ مستودع GitHub هذا والاعتماد على الوحدات النمطية محليًا.
أسهل طريقة للبدء في استخدام AndroidX Media هي إضافة تبعيات gradle على المكتبات التي تحتاجها في ملف build.gradle.kts
الخاص بوحدة التطبيق الخاصة بك.
على سبيل المثال، للاعتماد على ExoPlayer مع دعم تشغيل DASH ومكونات واجهة المستخدم، يمكنك إضافة تبعيات على الوحدات مثل هذا:
implementation( " androidx.media3:media3-exoplayer:1.X.X " )
implementation( " androidx.media3:media3-exoplayer-dash:1.X.X " )
implementation( " androidx.media3:media3-ui:1.X.X " )
أو في Gradle Groovy DSL build.gradle
:
implementation ' androidx.media3:media3-exoplayer:1.X.X '
implementation ' androidx.media3:media3-exoplayer-dash:1.X.X '
implementation ' androidx.media3:media3-ui:1.X.X '
حيث 1.XX
هو الإصدار المفضل لديك. يجب أن تكون كافة الوحدات نفس الإصدار.
يرجى الاطلاع على صفحة AndroidX Media3 Developer.android.com لمزيد من المعلومات، بما في ذلك القائمة الكاملة لوحدات المكتبة.
يتضمن هذا المستودع بعض الوحدات التي تعتمد على المكتبات الخارجية التي تحتاج إلى الإنشاء يدويًا، وهي غير متوفرة من مستودع Maven. الرجاء مراجعة الملفات التمهيدية الفردية ضمن دليل المكتبات لمزيد من التفاصيل.
إذا لم يتم تمكينه بالفعل، فستحتاج أيضًا إلى تشغيل دعم Java 8 في جميع ملفات build.gradle.kts
اعتمادًا على AndroidX Media، عن طريق إضافة ما يلي إلى قسم android
:
compileOptions {
targetCompatibility = JavaVersion . VERSION_1_8
}
أو في Gradle Groovy DSL build.gradle
:
compileOptions {
targetCompatibility JavaVersion . VERSION_1_8
}
إذا كان إصدار Gradle minSdkVersion
الخاص بك هو 20 أو أقل، فيجب عليك تمكين multidex لمنع أخطاء البناء.
يلزم استنساخ المستودع والاعتماد على الوحدات النمطية محليًا عند استخدام بعض المكتبات. إنه أيضًا أسلوب مناسب إذا كنت تريد إجراء تغييرات محلية، أو إذا كنت تريد استخدام الفرع main
.
أولاً، قم باستنساخ المستودع في دليل محلي:
git clone https://github.com/androidx/media.git
بعد ذلك، أضف ما يلي إلى ملف settings.gradle.kts
الخاص بمشروعك، مع استبدال path/to/media
بالمسار إلى نسختك المحلية:
(gradle as ExtensionAware ).extra[ " androidxMediaModulePrefix " ] = " media3- "
apply (from = file( " path/to/media/core_settings.gradle " ))
أو في settings.gradle
Gradle Groovy DSL.gradle :
gradle . ext . androidxMediaModulePrefix = ' media3- '
apply from : file( " path/to/media/core_settings.gradle " )
يجب أن تشاهد الآن وحدات AndroidX Media تظهر كجزء من مشروعك. يمكنك الاعتماد عليها من build.gradle.kts
كما تفعل مع أي وحدة محلية أخرى، على سبيل المثال:
implementation(project( " :media3-lib-exoplayer " ))
implementation(project( " :media3-lib-exoplayer-dash " ))
implementation(project( " :media3-lib-ui " ))
أو في Gradle Groovy DSL build.gradle
:
implementation project( ' :media3-lib-exoplayer ' )
implementation project( ' :media3-lib-exoplayer-dash ' )
implementation project( ' :media3-lib-ui ' )
افتراضيًا، يتم تعطيل وحدة MIDI باعتبارها تبعية محلية، لأنها تتطلب تكوينًا إضافيًا لمستودع Maven. إذا كنت تريد استخدامه كإعتماد محلي، يرجى تكوين مستودع JitPack كما هو موضح في الوحدة README، ثم تمكين إنشاء الوحدة في ملف settings.gradle.kts
الخاص بك:
gradle.extra. apply {
set( " androidxMediaEnableMidiModule " , true )
}
أو في settings.gradle
Gradle Groovy DSL.gradle :
gradle . ext . androidxMediaEnableMidiModule = true
أعمال التطوير تتم في الفرع main
. يجب عادةً إجراء طلبات السحب إلى هذا الفرع.
يحمل فرع release
أحدث إصدار مستقر.
لتطوير AndroidX Media باستخدام Android Studio، ما عليك سوى فتح المشروع في الدليل الجذر لهذا المستودع.