【发布时间】:2018-02-24 19:05:46
【问题描述】:
SurfaceView 缩放有问题。
我使用SurfaceView作为MediaPlayer的渲染器,想通过缩放surfaceView来制作不同的视频缩放模式:
switch(zoomMode) {
case 0:
surfaceView.setScaleX(1);
surfaceView.setScaleY(1);
break;
case 1:
surfaceView.setScaleX(16f / 12f);
surfaceView.setScaleY(16f / 12f);
break;
case 2:
surfaceView.setScaleX(12f / 16f);
surfaceView.setScaleY(12f / 16f);
break;
case 3:
surfaceView.setScaleX(1);
surfaceView.setScaleY(12f / 16f);
break;
case 4:
surfaceView.setScaleX(12f / 16f);
surfaceView.setScaleY(1);
break;
}
但视频是移动(1、2 例)并被裁剪(3、4 例)而不是比例。 在极少数情况下(不知道它取决于什么)它可以正常工作。
当我使用 TextureView 而不是 SurfaceView 时,缩放工作。但是 TextureView 视频播放不流畅(锯齿状)并且没有抗锯齿。
我怎样才能让它正常工作?请帮忙!
【问题讨论】:
标签: android scale surfaceview