DisplayMetrics metrics = getResources().getDisplayMetrics();
int screenWidth = metrics.widthPixels;
int screenHeight = metrics.heightPixels;
int screenDensity = metrics.densityDpi;
// Start the video input.
mVirtualDisplay = mMediaProjection.createVirtualDisplay("Recording Display", screenWidth,
screenHeight, screenDensity, 0 /* flags */, mInputSurface,
null /* callback */, null /* handler */);
如果还有人在寻找答案 - 除了@md-sulayman所建议的之外,还要确保在中交换宽度和高度。
mediaRecorder.setVideoSize
mMediaRecorder.setVideoSize(WIDTH, HEIGHT); // for portrait
并且
mMediaRecorder.setVideoSize(HEIGHT,WIDTH); // for landscape