我是靠谱客的博主 自信背包,最近开发中收集的这篇文章主要介绍android视频放大缩小编辑,Android视频缩放,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

private WeakReference weak ;

在start()之前调用下面的方法

//重新计算video的显示位置,让其全部显示并据中

public void updateSizeCenter(){

int mVideoWidth = mMediaPlayer.getVideoWidth();

int mVideoHeight = mMediaPlayer.getVideoHeight();

float sx = (float) weak.get().getWidth() / (float) mVideoWidth;

float sy = (float) weak.get().getHeight() / (float) mVideoHeight;

Matrix matrix = new Matrix();

//第1步:把视频区移动到View区,使两者中心点重合.

matrix.preTranslate((weak.get().getWidth() - mVideoWidth) / 2, (weak.get().getHeight() - mVideoHeight) / 2);

//第2步:因为默认视频是fitXY的形式显示的,所以首先要缩放还原回来.

matrix.preScale(mVideoWidth / (float) weak.get().getWidth(), mVideoHeight / (float) weak.get().getHeight());

//第3步,等比例放大或缩小,直到视频区的一边和View一边相等.如果另一边和view的一边不相等,则留下空隙

if (sx >= sy){

matrix.postScale(sy, sy, weak.get().getWidth() / 2, weak.get().getHeight() / 2);

}else{

matrix.postScale(sx, sx, weak.get().getWidth() / 2, weak.get().getHeight() / 2);

}

weak.get().setTransform(matrix);

weak.get().postInvalidate();

}

//重新计算video的显示位置,裁剪后全屏显示

public void updateSizeCenterCrop(){

int mVideoWidth = mMediaPlayer.getVideoWidth();

int mVideoHeight = mMediaPlayer.getVideoHeight();

float sx = (float) weak.get().getWidth() / (float) mVideoWidth;

float sy = (float) weak.get().getHeight() / (float) mVideoHeight;

Matrix matrix = new Matrix();

float maxScale = Math.max(sx, sy);

//第1步:把视频区移动到View区,使两者中心点重合.

matrix.preTranslate((weak.get().getWidth() - mVideoWidth) / 2, (weak.get().getHeight() - mVideoHeight) / 2);

//第2步:因为默认视频是fitXY的形式显示的,所以首先要缩放还原回来.

matrix.preScale(mVideoWidth / (float)weak.get(). getWidth(), mVideoHeight / (float) weak.get().getHeight());

//第3步,等比例放大或缩小,直到视频区的一边超过View一边, 另一边与View的另一边相等. 因为超过的部分超出了View的范围,所以是不会显示的,相当于裁剪了.

matrix.postScale(maxScale, maxScale, weak.get().getWidth() / 2, weak.get().getHeight() / 2);//后两个参数坐标是以整个View的坐标系以参考的

weak.get().setTransform(matrix);

weak.get().postInvalidate();

}

最后

以上就是自信背包为你收集整理的android视频放大缩小编辑,Android视频缩放的全部内容,希望文章能够帮你解决android视频放大缩小编辑,Android视频缩放所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部