Google is committed to advancing racial equity for Black communities. See how.
ترجمت واجهة Cloud Translation API‏ هذه الصفحة.
Switch to English

وسائل الإعلام

رمز Android Media HAL

يشتمل Android على Stagefright ، وهو محرك تشغيل وسائط على المستوى الأصلي يحتوي على برامج ترميز مدمجة قائمة على البرامج لتنسيقات الوسائط الشائعة.

تتضمن ميزات تشغيل الصوت والفيديو Stagefright التكامل مع برامج ترميز OpenMAX وإدارة الجلسة والعرض المتزامن مع الوقت والتحكم في النقل وإدارة الحقوق الرقمية.

يدعم Stagefright أيضًا التكامل مع برامج ترميز الأجهزة المخصصة التي تقدمها. لتعيين مسار جهاز لتشفير الوسائط وفك تشفيرها ، يجب عليك تنفيذ برنامج ترميز مستند إلى الأجهزة كمكون OpenMax IL (طبقة التكامل).

ملاحظة: يمكن أن تحدث تحديثات Stagefright من خلال عملية التحديث الأمني ​​الشهرية لنظام Android وكجزء من إصدار نظام التشغيل Android.

هندسة معمارية

تتفاعل تطبيقات الوسائط مع إطار عمل الوسائط المتعددة الأصلي لنظام Android وفقًا للبنية التالية.

هندسة وسائط Android

الشكل 1. هندسة الوسائط

إطار تطبيق
على مستوى إطار عمل التطبيق ، يوجد رمز تطبيق يستخدم واجهات برمجة تطبيقات android.media للتفاعل مع أجهزة الوسائط المتعددة.
بيندر IPC
تعمل وكلاء Binder IPC على تسهيل الاتصال عبر حدود العملية. وهي موجودة في دليل frameworks/av/media/libmedia وتبدأ بالحرف "I".
إطار عمل الوسائط المتعددة الأصلي
على المستوى الأصلي ، يوفر Android إطار عمل للوسائط المتعددة يستخدم محرك Stagefright لتسجيل الصوت والفيديو وتشغيله. يأتي Stagefright مزودًا بقائمة افتراضية لبرامج ترميز البرامج المدعومة ويمكنك تنفيذ برنامج ترميز الأجهزة الخاص بك باستخدام معيار طبقة تكامل OpenMax. لمزيد من تفاصيل التنفيذ ، راجع مكونات MediaPlayer و Stagefright الموجودة في frameworks/av/media .
طبقة تكامل OpenMAX (IL)
يوفر OpenMAX IL طريقة قياسية لـ Stagefright للتعرف على برامج ترميز الوسائط المتعددة القائمة على الأجهزة واستخدامها والتي تسمى المكونات. يجب عليك توفير مكون OpenMAX الإضافي في شكل مكتبة مشتركة تسمى libstagefrighthw.so . يربط هذا المكون الإضافي Stagefright بمكونات الترميز المخصصة الخاصة بك ، والتي يجب تنفيذها وفقًا لمعيار مكون OpenMAX IL.

تنفيذ برامج الترميز المخصصة

يأتي Stagefright مع برامج ترميز مدمجة لتنسيقات الوسائط الشائعة ، ولكن يمكنك أيضًا إضافة برامج ترميز الأجهزة المخصصة كمكونات OpenMAX. للقيام بذلك ، يجب عليك إنشاء مكونات OMX ومكوِّن OMX الإضافي الذي يربط بين برامج الترميز المخصصة الخاصة بك مع إطار عمل Stagefright. على سبيل المثال المكونات ، راجع hardware/ti/omap4xxx/domx/ ؛ للحصول على مثال مكون إضافي لجهاز Galaxy Nexus ، راجع hardware/ti/omap4xx/libstagefrighthw .

لإضافة برامج الترميز الخاصة بك:

  1. قم بإنشاء مكوناتك وفقًا لمعيار مكون OpenMAX IL. توجد واجهة المكون في ملف frameworks/native/include/media/OpenMAX/OMX_Component.h . لمعرفة المزيد حول مواصفات OpenMAX IL ، راجع موقع ويب OpenMAX .
  2. قم بإنشاء مكون إضافي لـ OpenMAX يربط مكوناتك بخدمة Stagefright. بالنسبة للواجهات لإنشاء المكون الإضافي ، راجع ملفات رأس frameworks/native/include/media/hardware/OMXPluginBase.h و HardwareAPI.h .
  3. قم ببناء المكون الإضافي الخاص بك كمكتبة مشتركة بالاسم libstagefrighthw.so في منتجك Makefile. فمثلا:
    LOCAL_MODULE := libstagefrighthw
    

    في Makefile بجهازك ، تأكد من إعلان الوحدة كحزمة منتج:

    PRODUCT_PACKAGES += \
      libstagefrighthw \
      ...
    

تعريض برامج الترميز إلى الإطار

خدمة Stagefright يوزع system/etc/media_codecs.xml و system/etc/media_profiles.xml لفضح الترميز وملامح معتمدة على الجهاز لمطوري التطبيقات عبر android.media.MediaCodecList و android.media.CamcorderProfile الطبقات. يجب عليك إنشاء كلا الملفين في دليل device/<company>/<device>/ ونسخه إلى دليل system/etc الخاص بصور النظام في ملف Makefile بجهازك. فمثلا:

PRODUCT_COPY_FILES += \
  device/samsung/tuna/media_profiles.xml:system/etc/media_profiles.xml \
  device/samsung/tuna/media_codecs.xml:system/etc/media_codecs.xml \

للحصول على أمثلة كاملة ، راجع device/samsung/tuna/media_codecs.xml و device/samsung/tuna/media_profiles.xml .

ملاحظة: اعتبارًا من Android 4.1 ، لم يعد عنصر <Quirk> لبرامج ترميز الوسائط مدعومًا.