mediaPlayer.setVideoScalingMode(android.media.MediaPlayer.VIDEO_SCALING_MODE_SCALE_TO_FIT);
,但它不工作,我想,以適應視頻屏幕。
mediaPlayer.setVideoScalingMode(android.media.MediaPlayer.VIDEO_SCALING_MODE_SCALE_TO_FIT);
,但它不工作,我想,以適應視頻屏幕。
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_FIT
或VIDEO_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
}
僅供參考,'VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING'目前無法正常工作。這是一個已知問題:https://github.com/google/ExoPlayer/issues/1428 – mbonnin 2016-04-12 19:35:27
你找出答案? – Behnam 2014-12-16 11:05:53