بدءًا من الإصدار 10 من نظام التشغيل Android (المستوى 29 من واجهة برمجة التطبيقات) والإصدارات الأحدث، تتوفّر طرق في
MediaCodecInfo
تعرض المزيد من المعلومات حول برنامج ترميز:
isSoftwareOnly()- تعرض هذه السمة القيمة "صحيح" إذا كان برنامج الترميز يعمل في البرنامج فقط. لا تقدّم برامج الترميز أي ضمانات بشأن أداء العرض.
isHardwareAccelerated()- تعرِض هذه السمة القيمة "صحيح" إذا كان برنامج الترميز يتم تسريعه بواسطة الأجهزة.
isVendor()- تعرض هذه السمة القيمة true إذا كان برنامج الترميز مقدَّمًا من مورّد الجهاز، أو القيمة false إذا كان مقدَّمًا من منصة Android.
isAlias()
قد يحتوي MediaCodecListعلى إدخالات إضافية لبرنامج الترميز الأساسي نفسه باستخدام أسماء برامج ترميز بديلة (أسماء مستعارة). تعرض هذه الطريقة القيمة "صحيح" إذا كان برنامج الترميز في هذا الإدخال اسمًا مستعارًا لبرنامج ترميز آخر.
بالإضافة إلى ذلك، تعرض الدالة
MediaCodec.getCanonicalName()
اسم الترميز الأساسي لبرامج الترميز التي تم إنشاؤها باستخدام اسم مستعار.
نقاط الأداء
تمثّل نقطة الأداء قدرة برنامج الترميز على عرض الفيديو بارتفاع وعرض وعدد لقطات في الثانية محدّدة. على سبيل المثال، تمثّل UHD_60 نقطة الأداء
فيديو بدقة فائقة (3840x2160 بكسل) يتم عرضه بمعدل 60 لقطة
في الثانية.
تعرض الطريقة
MediaCodecInfo.VideoCapabilities.getSupportedPerformancePoints()
قائمة بإدخالات
PerformancePoint
يمكن لبرنامج الترميز عرضها أو تسجيلها.
يمكنك التحقّق ممّا إذا كان الرمز البريدي PerformancePoint يغطي رمزًا آخر من خلال الاتصال بالرقم PerformancePoint.covers(PerformancePoint).
على سبيل المثال، تعرض الدالة UHD_60.covers(UHD_50) القيمة "صحيح".
يتم توفير قائمة بنقاط الأداء لجميع برامج الترميز التي تستخدم تسريع الأجهزة. قد تكون هذه القائمة فارغة إذا لم يستوفِ برنامج الترميز حتى أدنى نقطة أداء وفقًا للمعيار.
يُرجى العِلم أنّ الأجهزة التي تمت ترقيتها إلى الإصدار Android 10 (المستوى 29 لواجهة برمجة التطبيقات) والإصدارات الأحدث بدون تعديل صورة المورّد لن تتضمّن بيانات نقاط الأداء، لأنّ هذه البيانات تأتي من طبقة تجريد الأجهزة (HAL) الخاصة بالمورّد. في هذه الحالة، تعرض الدالة getSupportedPerformancePoints() القيمة null.