برامج ترميز الوسائط

بدءًا من نظام التشغيل Android 10 (المستوى 29 من واجهة برمجة التطبيقات) والإصدارات الأحدث، تتوفر طرق في MediaCodecInfo التي يمكنكم إظهار المزيد من المعلومات حول أحد برامج الترميز:

isSoftwareOnly()
يتم عرض القيمة "صحيح" إذا كان برنامج الترميز يعمل في البرنامج فقط. برامج ترميز البرامج لا تجعل تقديم ضمانات بشأن أداء العرض
isHardwareAccelerated()
عرض القيمة "صحيح" إذا تم تسريع برنامج الترميز باستخدام الأجهزة.
isVendor()
عرض القيمة "صحيح" إذا كان برنامج الترميز يوفّره مورّد الجهاز أو يعرض القيمة "خطأ" إذا تمّ تقديمه من نظام Android الأساسي
isAlias()
قد يحتوي MediaCodecList على إدخالات إضافية لبرنامج الترميز الأساسي نفسه. باستخدام أسماء برامج ترميز بديلة (العنوان البديل للبريد الإلكتروني أو عناوين البريد الإلكتروني البديلة). تُرجع هذه الطريقة القيمة true إذا فإن برنامج الترميز في هذا الإدخال هو اسم مستعار لبرنامج ترميز آخر.

بالإضافة إلى ذلك، MediaCodec.getCanonicalName() تعرض اسم برنامج الترميز الأساسي لبرامج الترميز التي تم إنشاؤها عبر اسم مستعار.

نقاط الأداء

تشير نقطة الأداء إلى قدرة برنامج الترميز على عرض فيديو بدقة معيّنة. الارتفاع والعرض وعدد اللقطات في الثانية. على سبيل المثال، تتيح لك نقطة الأداء UHD_60 يمثّل فيديو بدقة فائقة (3840×2160 بكسل) بحجم 60 إطارًا في الثانية

الطريقة MediaCodecInfo.VideoCapabilities.getSupportedPerformancePoints() قائمة PerformancePoint الإدخالات التي يمكن لبرنامج الترميز عرضها أو التقاطها.

يمكنك معرفة ما إذا كان PerformancePoint يوفّر تغطية أخرى من خلال الاتصال PerformancePoint.covers(PerformancePoint) على سبيل المثال، تعرض الدالة UHD_60.covers(UHD_50) القيمة "صواب".

يتم توفير قائمة بنقاط الأداء لجميع برامج ترميز تسريع الأجهزة. يمكن أن تكون هذه القائمة فارغة إذا لم يفِ برنامج الترميز بأي معيار نقطة الأداء.

يُرجى ملاحظة أنّ الأجهزة التي تمت ترقيتها إلى Android 10 (المستوى 29 من واجهة برمجة التطبيقات) والإصدارات الأحدث بدون فلن يؤدي تحديث صورة البائع إلى بيانات نقطة أداء، لأن هذا بيانات من HAL للبائع. في هذه الحالة، getSupportedPerformancePoints() وتقوم بإرجاع null.