1. 程式人生 > >VideoView播放視訊是出現黑邊的問題

VideoView播放視訊是出現黑邊的問題

問題描述:在使用VideoView播放視訊檔案時,如果視訊的解析度較小就會出現視訊跑偏(不在螢幕中央等情況)

可以通過重寫VideoView來解決該問題

public class CosVideoView extends VideoView {

 public CosVideoView (Context context) {
  super(context);
  
 }

 public CosVideoView (Context context, AttributeSet attrs) {
  super(context, attrs);
   `
 }

 public CosVideoView 

(Context context, AttributeSet attrs, int defStyle) {
  super(context, attrs, defStyle);
  
 }

 @Override
 protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {

 //主要方法在這裡
  int width = getDefaultSize(0, widthMeasureSpec);
  int height = getDefaultSize(0, heightMeasureSpec);
  setMeasuredDimension(width, height);
 }

 @Override
 public void setOnPreparedListener(OnPreparedListener l) {
  super.setOnPreparedListener(l);
 }

 @Override
 public boolean onKeyDown(int keyCode, KeyEvent event) {
  return super.onKeyDown(keyCode, event);
 }

}

通過設定VideoView的setMeasureDimension()方法便可解決該問題。