Siéntete en la libertad de divulgar nuestro sitio y códigos con tus amigos, necesitamos tu ayuda para aumentar esta comunidad.
Solución:
Hay una manera más rápida de llenar la pantalla con el video. Ve a la SimpleExoPlayerView.java
clase, cambia el resizeMode
de AspectRatioFrameLayout.RESIZE_MODE_FIT
a AspectRatioFrameLayout.RESIZE_MODE_FILL
.
RESIZE_MODE_FILL
ignorará la relación de aspecto especificada. Úselo de esta manera si usa ExoPlayer como un módulo en su proyecto.
ACTUALIZADO
Si usa ExoPlayer como una biblioteca, tienen un método para setResizeMode()
. solo te pones a AspectRatioFrameLayout.RESIZE_MODE_FILL
en tu opinión:
simpleExoPlayerView.setResizeMode(AspectRatioFrameLayout.RESIZE_MODE_FILL)
¡Eso es todo!
Esto también se puede hacer en XML si usa SimpleExoPlayerView
.
Solo agrega app:resize_mode="zoom"
para mantener la relación de aspecto del video o app:resize_mode="fill"
si no te importa la relación de aspecto.
Puedes retirar la com.google.android.exoplayer.AspectRatioFrameLayout
.
A continuación, ponga un simple FrameLayout
con ancho y alto en match_parent
.
Tenga en cuenta que el SurfaceView
debe permanecer en ancho y alto = match_parent
.
Explicación: AspectRatioFrameLayout
está configurando la altura correcta de la vista de acuerdo con la relación de video real (calculando en función del ancho, la altura y la relación de píxeles). Si no quieres esto, Exoplayer todavía puede mostrar la vista en un SurfaceView
como lo estaban haciendo antes. Si el SurfaceView
no es @Override
no tendrá relación de aspecto.
Puntuaciones y reseñas
Recuerda que puedes dar difusión a este escrito si te fue útil.