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

11dmarpk  于 2021-06-29  发布在  Java
关注(0)|答案(0)|浏览(207)

我正在使用一个回收视图内的视频视图。我想要达到的是,当视频视图的比例为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);
                    }
                }
            });

这段代码的作用是,它填充整个屏幕,同时保持纵横比,而不考虑纵横比。如何更改此代码以实现我上面提到的内容?任何帮助都将不胜感激。当做。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题