我在Exoplayer
上播放来自Exoplayer
的视频,它延伸了视频的大小/使用resize_mode
,就像我在布局文件中提到的那样,我无法保持视频的纵横比。
我想像在CENTER_CROP
image2中提到的那样,像在TextureSurface
中那样进行缩放类型的输出,但是我得到的输出是image1。
我试过以下例子
我的输出(Img 1)和预期输出(Img 2)
外挂机布局代码
<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" />
使用这行app:resize_mode="fill"
,它适合屏幕中的视频,但垂直拉伸,所以我如何解决这个问题。
发布于 2018-03-09 11:08:06
以下两行帮助我在全屏模式下播放视频.
在布局文件中使用app:resize_mode
,这在某种程度上是有帮助的,但它像问题图片中提到的那样延伸了视频。
<com.google.android.exoplayer2.ui.PlayerView
android:layout_width="match_parent"
app:resize_mode="...."
android:layout_height="match_parent" />
试着按照yout的要求将AspectRatioFrameLayout
更改为FILL,FIT,ZOOM...
,下面的更改对我来说是有效的。
exoVideoPlayerView.setResizeMode(AspectRatioFrameLayout.RESIZE_MODE_FILL);
波纹线将确保纵横比保持正确,即使是4:3的视频。
exoPlayer.setResizeMode(AspectRatioFrameLayout.RESIZE_MODE_FIT);
此外,还可以尝试在VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING
中更改exoplayer
。
发布于 2018-12-25 08:21:45
为了维护exo播放器中的中间作物,下面的代码是为我工作的:
Java代码:
playerView.setResizeMode(AspectRatioFrameLayout.RESIZE_MODE_ZOOM);
也可以从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" />
发布于 2020-05-11 03:31:51
下面是要使用的调整模式选项
app:resize_mode="fixed_width"
app:resize_mode="fixed_height"
app:resize_mode="fill"
app:resize_mode="fit"
app:resize_mode="zoom"
你可以试一试,看看它对你的容器的影响。
https://stackoverflow.com/questions/48988063
复制相似问题