我正在播放来自 URL
的视频在 Exoplayer
, 它使用 resize_mode
在调整大小/打开时拉伸(stretch)视频正如我在布局文件中提到的那样,我无法保持视频的纵横比。
我想做刻度类型CENTER_CROP
就像我们在 TextureSurface
中所做的那样如 中所述图片2 但我得到的输出为 图片1
我试过下面的例子
Exoplayer Demo Example
我的输出 (图 1) 和预期输出 (图 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" />
用这条线
app:resize_mode="fill"
它适合屏幕中的视频,但垂直拉伸(stretch),那么我该如何解决这个问题。
最佳答案
以下两行帮助我以全屏模式播放视频。
使用 app:resize_mode
在布局文件中,这以某种方式有所帮助,但它会拉伸(stretch)问题图片中提到的视频。
<com.google.android.exoplayer2.ui.PlayerView
android:layout_width="match_parent"
app:resize_mode="...."
android:layout_height="match_parent" />
尝试更改 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
关于aspect-ratio - 如何在 ExoPlayer-V2 中缩放视频 - 全屏播放视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48988063/