android - 如何设置带缺口显示的媒体记录器的大小

标签 android mediarecorder

我正在使用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/

相关文章:

android - 使用 Android 搜索对话框搜索多个数据库列

java - 为什么 Activity 没有 onClick 事件处理程序?

android - 以 AMR 文件格式录制音频

android - 删除操作栏主页图标上的按下效果

android - 使用本地 js/css 加载网站

android - 游标返回错误的联系人ID

android - 如何设置最长持续时间记录,释放文件并使用媒体记录器自动开始记录

Android MediaRecorder 设置音量

javascript - 录制音频时显示进度条

android - 使用 1 :1 aspect ratio on Android 捕获视频