برامج ترميز الوسائط
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
بدءًا من نظام التشغيل Android 10 (المستوى 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)
القيمة "صحيح".
يتم توفير قائمة بنقاط الأداء لجميع برامج الترميز التي تستخدم تسريع الأجهزة.
يمكن أن تكون هذه القائمة فارغة إذا لم يستوفِ برنامج الترميز حتى أدنى نقطة أداء وفقًا للمعيار.
يُرجى العِلم أنّ الأجهزة التي تمت ترقيتها إلى الإصدار 10 (المستوى 29 لواجهة برمجة التطبيقات) من نظام التشغيل Android والإصدارات الأحدث بدون
تحديث صورة المورّد لن تتضمّن بيانات نقاط الأداء، لأنّ هذه
البيانات تأتي من طبقة تجريد الأجهزة (HAL) الخاصة بالمورّد. في هذه الحالة، تعرض الدالة getSupportedPerformancePoints()
القيمة null.
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2025-08-27 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-08-27 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],null,["Beginning with Android 10 (API level 29) and higher, there are methods in\n[`MediaCodecInfo`](/reference/android/media/MediaCodecInfo) that\nreveal more information about a codec:\n\n[`isSoftwareOnly()`](/reference/android/media/MediaCodecInfo#isSoftwareOnly)\n: Returns true if the codec runs in software only. Software codecs make no\n guarantees about rendering performance.\n\n[`isHardwareAccelerated()`](/reference/android/media/MediaCodecInfo#isHardwareAccelerated)\n: Returns true if a codec is accelerated by hardware.\n\n[`isVendor()`](/reference/android/media/MediaCodecInfo#isVendor)\n: Returns true if the codec is provided by the device vendor or false if provided\n by the Android platform.\n\n[`isAlias()`](/reference/android/media/MediaCodecInfo#isAlias)\n: `MediaCodecList` may contain additional entries for the same underlying codec\n using an alternate codec name/s (alias/es). This method returns true if the\n codec in this entry is an alias for another codec.\n\nIn addition,\n[`MediaCodec.getCanonicalName()`](/reference/android/media/MediaCodecInfo#getCanonicalName)\nreturns the underlying codec name for codecs created via an alias.\n\nPerformance Points\n\nA *performance point* represents a codec's ability to render video at a specific\nheight, width and frame rate. For example, the `UHD_60` performance point\nrepresents Ultra High Definition video (3840x2160 pixels) rendered at 60 frames\nper second.\n\nThe method\n[`MediaCodecInfo.VideoCapabilities.getSupportedPerformancePoints()`](/reference/android/media/MediaCodecInfo.VideoCapabilities#getSupportedPerformancePoints())\nreturns a list of\n[`PerformancePoint`](/reference/android/media/MediaCodecInfo.VideoCapabilities.PerformancePoint)\nentries that the codec can render or capture.\n\nYou can check whether a given `PerformancePoint` covers another by calling\n[`PerformancePoint.covers(PerformancePoint)`](/reference/android/media/MediaCodecInfo.VideoCapabilities.PerformancePoint#covers(android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint)).\nFor example, `UHD_60.covers(UHD_50)` returns true.\n\nA list of performance points is provided for all hardware-accelerated codecs.\nThis could be an empty list if the codec does not meet even the lowest standard\nperformance point.\n\nNote that devices which have been upgraded to Android 10 (API level 29) and higher without\nupdating the vendor image will not have performance point data, because this\ndata comes from the vendor HAL. In this case, `getSupportedPerformancePoints()`\nreturns null."]]