web-dev-qa-db-fra.com

Comment mettre à l'échelle une vidéo dans ExoPlayer-V2 - Lire la vidéo en plein écran

Je lis une vidéo de URL sur Exoplayer, cela étire la vidéo lors du redimensionnement/de l'utilisation de resize_mode comme je l'ai mentionné dans le fichier de mise en page en utilisant cela, je ne suis pas en mesure de maintenir le rapport d'aspect de la vidéo.

Je veux faire un type d'échelle CENTER_CROP comme nous le faisons dans TextureSurface comme mentionné dans image2 mais je reçois une sortie en tant que image1

J'ai essayé l'exemple suivant

Exemple de démonstration d'exoplayer

Ma sortie (Img 1) et la sortie attendue (Img 2)

enter image description here

code de mise en page exoplayer

  <com.google.Android.exoplayer2.ui.SimpleExoPlayerView
      Android:id="@+id/player_view"
      Android:layout_width="match_parent"
      Android:layout_height="match_parent"
      app:resize_mode="fill" />

Avec cette ligne app:resize_mode="fill" il s'adapte à la vidéo à l'écran mais s'étire verticalement, alors comment puis-je résoudre ce problème.

8
Sagar

Les deux lignes suivantes m'ont aidé à lire la vidéo en mode plein écran.

En utilisant app:resize_mode dans le fichier de mise en page, cela peut aider, mais il étire la vidéo comme mentionné dans l'image de la question, vous pouvez donc le résoudre en ajoutant ces deux lignes dans votre code.

exoVideoPlayerView.setResizeMode(AspectRatioFrameLayout.RESIZE_MODE_FILL);
exoPlayer.setVideoScalingMode(C.VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING);

La ligne ci-dessous garantit que le rapport d'aspect est correctement maintenu, même pour les vidéos 4: 3.

playerView.setResizeMode(AspectRatioFrameLayout.RESIZE_MODE_FIT);. 
31
Sagar

Pour maintenir le recadrage central dans exo player ci-dessous, le code a fonctionné pour moi:

Code Java:

playerView.setResizeMode(AspectRatioFrameLayout.RESIZE_MODE_ZOOM);

ou vous pouvez utiliser à partir de xml:

<com.google.Android.exoplayer2.ui.PlayerView
    Android:id="@+id/playerView"
    Android:layout_width="match_parent"
    app:resize_mode="zoom"
    Android:layout_height="match_parent" />
5
Touhid