【发布时间】:2019-10-31 14:56:03
【问题描述】:
我想设置一个充满屏幕并保留其纵横比的视频。但是,我不希望视频与手机的纵横比相匹配。
如果我的屏幕纵横比是 18.9:9,而视频的纵横比是 16:9,那么当我将视频放入继承 fill_parent 的 VideoView 时,它会显得拉伸。如果我不设置 fill_parent 则视频会保留其纵横比,但仅占屏幕的 1/3 以下,因为纵横比由其宽度而非高度决定。这是不可取的。
我想用视频垂直填充屏幕,不管宽度是否被剪掉。
当前代码:
window.setFormat(PixelFormat.TRANSLUCENT)
val videoView = findViewById < VideoView > (videoView)
val video = Uri.parse("android.resource://" + packageName + "/" +
R.raw.bgvideo)
videoView.setVideoURI(video)
videoView.setOnPreparedListener {
mp: MediaPlayer - >
mp.setVideoScalingMode(MediaPlayer.VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING)
mp.isLooping = true
mp.setScreenOnWhilePlaying(false)
}
videoView.start()
XML:
<VideoView
android:id="@+id/videoView"
android:layout_width="2000dp"
android:layout_height="match_parent" />
<!--- Sample Foreground Content !--->
<ImageView
android:layout_width="wrap_content"
android:layout_height="250dp"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="24dp"
android:contentDescription="@string/logo"
android:src="@drawable/logo" />
当前结果:
【问题讨论】:
-
这个问题没有解决方案,它是在 6 年前发布的。我们可能应该继续我的问题。
-
如果您有视频的分辨率,为什么不直接以编程方式调整
VideoView的尺寸。 -
@IsraeldelaCruz 视频的纵横比是 16:9,但屏幕的纵横比是 18.9:9。如果我使用 fill_parent,视频会显得拉伸。我希望视频填满屏幕,即使部分高度会被裁剪掉。
标签: android kotlin android-videoview