Sag*_*gar 9 aspect-ratio exoplayer
我玩视频从URL
上Exoplayer
,它伸展在调整视频/使用resize_mode
,因为我已经在布局文件中使用此提到的我不能够保持视频的纵横比.
我想像CENTER_CROP
我们TextureSurface
在image2中提到的那样进行缩放类型,但我得到输出为image1
我试过以下例子
我的输出(图1)和预期输出(图2)
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" />
Run Code Online (Sandbox Code Playgroud)
使用这条线,app:resize_mode="fill"
它可以在屏幕上显示视频但是垂直拉伸,那么我该如何解决这个问题.
Sag*_*gar 34
以下两行帮助我以全屏模式播放视频.
app:resize_mode
在布局文件中使用这个有些帮助,但它会延伸问题图片中提到的视频,因此您可以通过在代码中添加这两行来解决.
exoVideoPlayerView.setResizeMode(AspectRatioFrameLayout.RESIZE_MODE_FILL);
exoPlayer.setVideoScalingMode(C.VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING);
Run Code Online (Sandbox Code Playgroud)
波纹线将确保即使对于4:3视频也能正确保持宽高比.
playerView.setResizeMode(AspectRatioFrameLayout.RESIZE_MODE_FIT);.
Run Code Online (Sandbox Code Playgroud)
以下是可以使用的调整大小模式选项
app:resize_mode="fixed_width"
app:resize_mode="fixed_height"
app:resize_mode="fill"
app:resize_mode="fit"
app:resize_mode="zoom"
Run Code Online (Sandbox Code Playgroud)
您可以尝试每一种,看看它对您的容器的影响。
为了在exo播放器中保持中心裁剪,以下代码对我有用:
Java代码:
playerView.setResizeMode(AspectRatioFrameLayout.RESIZE_MODE_ZOOM);
Run Code Online (Sandbox Code Playgroud)
或者您可以从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" />
Run Code Online (Sandbox Code Playgroud)
小智 5
我的问题已使用以下几行解决:
playerView.setResizeMode(AspectRatioFrameLayout.RESIZE_MODE_FILL);
exoPlayer.setVideoScalingMode(C.VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
10115 次 |
最近记录: |