屏幕截图和相机预览不能同时工作

Screenshot and camera preview not working at same time

这张左边的图片显示了点击任何按钮之前的应用程序。我使用 camera2 google github 示例将背景设为相机预览。右边的照片是我点击拍照按钮时的照片。图片不显示!屏幕截图和相机不能同时工作吗?另外我应该如何摆脱出现在顶部的黑条?任何帮助,将不胜感激。可能在截图之前锁定相机的焦点??

    private void takePicture() {
        if (picturePresent == false) {
            edit_button.setVisibility(View.INVISIBLE);

            pictureBitmap = getBitmapFromView();

            edit_button.setVisibility(View.VISIBLE);

            BitmapDrawable bitmapDrawable = new BitmapDrawable(getResources(), pictureBitmap);
            outer_backround.setBackground(bitmapDrawable);
            picturePresent = true;

        } else {
        }
    }



    public Bitmap getBitmapFromView() {
        View v1 = getActivity().getWindow().getDecorView().getRootView();
        v1.setDrawingCacheEnabled(true);
        Bitmap bitmap = Bitmap.createBitmap(v1.getDrawingCache());
        v1.setDrawingCacheEnabled(false);
        Bitmap resizedBitmap  = Bitmap.createBitmap(bitmap,(int) outer_backround.getX(), (int) outer_backround.getY(), outer_backround.getWidth(), outer_backround.getHeight());
        return bitmap;
    }

您无法从相机预览表面获取 DrawingCache。

您必须从 glsurface 读取像素,或获取帧。

看这个例子: