Pessoal,
Descobri agora que o VideoView da um resize em seu vídeo para ser exibido em WIDESCREEN (Landscape).
Alguém sabe como tirar essa função?
Meu vídeo tem tamanho 800x480, mas ele transforma o meu vídeo para 480x320, ou seja, troca a altura pela largura do aparelho e da um resize na largura.
Eu li algo sobre o método onMeasure(), mas alguém tem alguma idéia ou já passou por isso?
Abraço
Resolvido, era no método onMeasure mesmo!
Por padrão, o VideoView dimensiona o vídeo para ser reproduzido em widescreen.
Basta você criar seu próprio componente que herde de VideoView e reescrever o método onMesure().
public class MyVideoView extends VideoView {
private int mForceHeight = 0;
private int mForceWidth = 0;
public MyVideoView(Context context) {
super(context);
}
public MyVideoView(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
public MyVideoView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public void setDimensions(int w, int h) {
this.mForceHeight = h;
this.mForceWidth = w;
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
setMeasuredDimension(mForceWidth, mForceHeight);
}
@Override
public boolean onTouchEvent(MotionEvent ev) {
return false;
}
}
Abraço