如何创建根据视频调整大小的自定义视频视图?

问题描述

我在回收视图中使用视频视图。我想要实现的是,当视频视图的比例为 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 (将#修改为@)