I am playing video from URL
on Exoplayer
, it stretching the video on resizing/on using resize_mode
as I have mentioned in layout file using this I am not able to maintain the aspect ratio of video.
I want to do scale type CENTER_CROP
like we do in TextureSurface
as mentioned in image2 but I am getting output as image1
I have tried following example
My Output (Img 1) and Expected Output (Img 2)
exoplayer layout code
<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" />
With this line app:resize_mode="fill"
it fit the video in screen but stretch vertically,
So how can I solve this .
Following lines helped me to play video in full-screen mode.
Changing app:resize_mode
in layout file helps but it stretches the video as mentioned in the question.
<com.google.android.exoplayer2.ui.PlayerView
android:layout_width="match_parent"
app:resize_mode="...."
android:layout_height="match_parent" />
Try changing AspectRatioFrameLayout
to FILL,FIT,ZOOM...
as per requirement,below code worked for me.
exoVideoPlayerView.setResizeMode(AspectRatioFrameLayout.RESIZE_MODE_FILL);
Below lines will ensure that aspect ratio is correctly maintained even for 4:3
videos.
exoPlayer.setResizeMode(AspectRatioFrameLayout.RESIZE_MODE_FIT);
changing VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING
in exoplayer
helps in the cropping & scaling the video as mentioned.
ExoPlayer Update:
As of 2024-04-03
we have stopped pushing commits to the dev-v2
branch in this repository.
New ExoPlayer code is available in the AndroidX
Media GitHub repository: https://github.com/androidx/media
exoplayer:2.19.1
was the last artifact released from this project, we don't plan to release any more.