2014-12-03 148 views

回答

2

VIDEO_SCALING_MODE_SCALE_TO_FIT是默認值,所以打電話來

mediaPlayer.setVideoScalingMode(android.media.MediaPlayer 
           .VIDEO_SCALING_MODE_SCALE_TO_FIT); 

將沒有什麼區別。

http://developer.android.com/reference/android/media/MediaCodec.html#setVideoScalingMode(int)

默認爲 「規模,以適應」。通過在MediaCodecVideoTrackRenderer.java


設置VIDEO_SCALING_MODE_SCALE_TO_FITVIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING添加更多一點

https://github.com/google/ExoPlayer

和實驗:

作爲例子,抓住下面基於MediaCodec播放器。

你正在嘗試完成可以做以下的方法:

實現你的SurfaceView的onMeasure。

獲取視頻大小。

調用將取決於如果你想伸展,健身或裁剪視頻不同的值setMeasuredDimension:

@Override 
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { 
     int width = getDefaultSize(videoWidth, widthMeasureSpec); 
     int height = getDefaultSize(videoHeight, heightMeasureSpec); 

     // Do not change w & h for screen fill 
     setMeasuredDimension(width, height); 

     // Experiment by changing width & height compared to the video size 
     // for different results 
    } 
+0

僅供參考,'VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING'目前無法正常工作。這是一個已知問題:https://github.com/google/ExoPlayer/issues/1428 – mbonnin 2016-04-12 19:35:27

相關問題