我正在使用MediaRecorder来记录表面,所以我在准备之前将视频大小定义到MediaRecorder
Size size = getWindowManager().getDefaultDisplay().getSize(size);
... preparing the media recorder
mediaRecorder.setVideoSize(size.x, size.y);
所以它在没有缺口的情况下工作正常,当涉及到有缺口的设备时,视频被记录为黑色。
请帮帮我
提前致谢
最佳答案
检测并减去缺口高度
DisplayMetrics displayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
int height = displayMetrics.heightPixels;
int width = displayMetrics.widthPixels;
Log.d("height",""+height);
//Detect notch
int statusBarHeight = 0;
int resourceId = getResources().getIdentifier("status_bar_height", "dimen", "android");
if (resourceId > 0) {
statusBarHeight = getResources().getDimensionPixelSize(resourceId);
}
if (statusBarHeight > Math.round( 24 * (displayMetrics.densityDpi / 160f))) {
height -= statusBarHeight;
}
Log.d("height",""+height);
关于android - 如何设置带缺口显示的媒体记录器的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56896367/