Códecs de elementos multimedia
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
A partir de Android 10 (nivel de API 29) y versiones posteriores, hay métodos en MediaCodecInfo
que revelan más información sobre un códec:
isSoftwareOnly()
- Devuelve verdadero si el códec se ejecuta solo en software. Los códecs de software no permiten garantizar el rendimiento de procesamiento.
isHardwareAccelerated()
- Devuelve verdadero si un códec se acelera por hardware.
isVendor()
- Devuelve verdadero si el códec lo proporciona el proveedor del dispositivo o falso si lo proporciona la plataforma de Android.
isAlias()
MediaCodecList
puede contener entradas adicionales para el mismo códec subyacente
con un nombre de códec alternativo (alias). Este método devuelve verdadero si el códec de esta entrada es un alias para otro códec.
Además, MediaCodec.getCanonicalName()
devuelve el nombre del códec subyacente para los códecs creados a través de un alias.
Un punto de rendimiento representa la capacidad de un códec de procesar video a una altura, un ancho y una velocidad de fotogramas específicos. Por ejemplo, el punto de rendimiento UHD_60
representa un video en ultraalta definición (3840 × 2160 píxeles) renderizado a 60 fotogramas por segundo.
El método
MediaCodecInfo.VideoCapabilities.getSupportedPerformancePoints()
devuelve una lista de entradas
PerformancePoint
que el códec puede renderizar o capturar.
Puedes verificar si un PerformancePoint
determinado cubre a otro llamando a PerformancePoint.covers(PerformancePoint)
.
Por ejemplo, UHD_60.covers(UHD_50)
devuelve verdadero.
Se proporciona una lista de puntos de rendimiento para todos los códecs acelerados mediante hardware.
La lista podría estar vacía si el códec no cumple ni con el punto de rendimiento estándar más bajo.
Ten en cuenta que los dispositivos que se actualizaron a Android 10 (nivel de API 29) y versiones posteriores sin actualizar la imagen del proveedor no tendrán datos de punto de rendimiento, ya que estos datos provienen de la HAL del proveedor. En este caso, getSupportedPerformancePoints()
devuelve un valor nulo.
El contenido y las muestras de código que aparecen en esta página están sujetas a las licencias que se describen en la Licencia de Contenido. Java y OpenJDK son marcas registradas de Oracle o sus afiliados.
Última actualización: 2025-08-27 (UTC)
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-08-27 (UTC)"],[],[],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."]]