کدک های رسانه ای، کدک های رسانه ای
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
با شروع Android 10 (سطح API 29) و بالاتر، روشهایی در MediaCodecInfo
وجود دارد که اطلاعات بیشتری را درباره کدک نشان میدهد:
-
isSoftwareOnly()
- اگر کدک فقط در نرمافزار اجرا شود، true را برمیگرداند. کدک های نرم افزار هیچ تضمینی در مورد عملکرد ارائه نمی دهند.
-
isHardwareAccelerated()
- اگر کدک توسط سخت افزار تسریع شود، مقدار true را برمی گرداند.
-
isVendor()
- اگر کدک توسط فروشنده دستگاه ارائه شده باشد true یا اگر توسط پلتفرم Android ارائه شده باشد، false را برمیگرداند.
-
isAlias()
-
MediaCodecList
ممکن است حاوی ورودی های اضافی برای همان کدک زیربنایی با استفاده از نام/های کدک جایگزین (نام مستعار/ها) باشد. اگر کدک موجود در این ورودی نام مستعار کدک دیگری باشد، این روش مقدار true را برمی گرداند.
علاوه بر این، MediaCodec.getCanonicalName()
نام کدک زیرین را برای کدک های ایجاد شده از طریق نام مستعار برمی گرداند.
نقطه عملکرد نشان دهنده توانایی یک کدک برای ارائه ویدیو در ارتفاع، عرض و نرخ فریم خاص است. به عنوان مثال، نقطه عملکرد UHD_60
نشان دهنده ویدیوی با کیفیت فوق العاده بالا (3840x2160 پیکسل) است که با سرعت 60 فریم در ثانیه ارائه می شود.
روش MediaCodecInfo.VideoCapabilities.getSupportedPerformancePoints()
لیستی از ورودی های PerformancePoint
را که کدک می تواند ارائه یا ضبط کند، برمی گرداند.
با فراخوانی PerformancePoint.covers(PerformancePoint)
می توانید بررسی کنید که آیا یک PerformancePoint
داده شده دیگری را پوشش می دهد یا خیر. برای مثال، UHD_60.covers(UHD_50)
true را برمیگرداند.
لیستی از نقاط عملکرد برای همه کدک های شتاب دهنده سخت افزاری ارائه شده است. اگر کدک حتی پایین ترین نقطه عملکرد استاندارد را نداشته باشد، می تواند یک لیست خالی باشد.
توجه داشته باشید که دستگاههایی که بدون بهروزرسانی تصویر فروشنده به Android 10 (سطح API 29) و بالاتر ارتقا یافتهاند، دادههای نقطه عملکردی ندارند، زیرا این دادهها از HAL فروشنده میآیند. در این حالت، getSupportedPerformancePoints()
null را برمیگرداند.
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و 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."]]