Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
En esta página, se describen los diferentes tipos de plataformas que se pueden usar para la reproducción de video con Media3 y cómo elegir el tipo adecuado para tu caso de uso. Para obtener más información sobre los objetos Surface en Android, lee esta documentación de gráficos.
Elige un tipo de superficie para PlayerView
El atributo surface_type de PlayerView te permite establecer el tipo de superficie que se usa para la reproducción de videos. Los valores permitidos son los siguientes:
spherical_gl_surface_view (SphericalGLSurfaceView): Para la reproducción de videos esféricos
video_decoder_gl_surface_view (VideoDecoderGLSurfaceView): Renderización de video con renderizadores de extensiones
none, que es solo para la reproducción de audio y se debe usar para evitar tener que crear una superficie, ya que hacerlo puede ser costoso.
Si la vista es para la reproducción de video normal, se debe usar surface_view o texture_view. SurfaceView tiene varios beneficios sobre TextureView para la reproducción de video:
Tiempos de fotogramas más precisos, lo que brinda una reproducción de video más fluida
Compatibilidad con una salida de video HDR de mayor calidad en dispositivos compatibles
Compatibilidad con salidas seguras cuando se reproduce contenido protegido por DRM
La capacidad de renderizar contenido de video con la resolución completa de la pantalla en dispositivos Android TV que mejoran la capa de la IU
Por lo tanto, se debe preferir SurfaceView en lugar de TextureView siempre que sea posible.
TextureView solo debe usarse si SurfaceView no satisface tus necesidades. Un ejemplo es cuando se requieren animaciones fluidas o el desplazamiento de la superficie de video antes de Android 7.0 (nivel de API 24), como se describe en las siguientes notas. En este caso, es preferible usar TextureView solo cuando SDK_INT sea inferior a 24 (Android 7.0) y SurfaceView en caso contrario.
El módulo ui-compose de Media3 proporciona un elemento componible PlayerSurface que vincula Player a un Surface de forma consciente del ciclo de vida. Los tipos de superficie en este caso son los siguientes:
No hay un tipo none, ya que eso correspondería a no incluir el PlayerSurface en el árbol de la IU de Compose.
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-03-26 (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-03-26 (UTC)"],[],[]]