如何解决如何创建根据视频调整大小的自定义视频视图?
我在回收视图中使用视频视图。我想要实现的是,当视频视图的比例为 9:16 时,我需要填满整个屏幕,保持纵横比并且没有边距。但是当视频比例不是 9:16 时,例如 1:1 或横向,我需要视频保持完全相同的大小,同时保持纵横比。如何实现这一目标?这是我当前的代码:
mVideoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mProgressBar.setVisibility(View.GONE);
mp.start();
float videoRatio = mp.getVideoWidth() / (float)mp.getVideoHeight();
float screenRatio = mVideoView.getWidth() / (float)mVideoView.getHeight();
float scale = videoRatio / screenRatio;
if (scale >= 1f){
mVideoView.setScaleX(scale);
}else {
mVideoView.setScaleY(1f / scale);
}
}
});
这段代码的作用是,它在保持纵横比的同时填满整个屏幕,而不管纵横比如何。如何更改此代码以实现我上面提到的内容?任何帮助,将不胜感激。问候。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。