Как получить скриншот видео для API> = 25 на Android - PullRequest
0 голосов
/ 09 марта 2020

Я пытаюсь получить скриншот экрана в android для Api 25. Когда я использую приведенный ниже код, он получает снимки экрана с изображениями и виджетами, но не снимает снимок экрана с видео, при воспроизведении он получает только черный экран видео на экране, я приведу ниже коды для этого действия, как я могу получить скриншоты видео для Api 25 и ниже (я получаю скриншот видео для Api> 25 с использованием библиотеки PixelCopy)

        Bitmap image;
        if(Build.VERSION.SDK_INT >= 26) {
            Window window = ((Activity) context).getWindow();
            image = Bitmap.createBitmap(732, 1280, Bitmap.Config.ARGB_8888);
            PixelCopy.OnPixelCopyFinishedListener onPixelCopyFinishedListener = copyResult -> System.out.println("Pixel copy finished");
            PixelCopy.request(window, image, onPixelCopyFinishedListener, mHandler);
            image = Utils.getResizedBitmap(image, 500);
        }else{
            image = Utils.screenShot(activity.getWindow().getDecorView().getRootView());
            image = Utils.getResizedBitmap(image, 500);
        }
        JsonObject jsonObject = new JsonObject();
        jsonObject.addProperty("base64Image", Utils.convertBitmaptoBase64String(image));
        jsonObject.addProperty("screenResolution", Utils.getScreenResolution(context));
        mSocket.emit("ScreenShot", jsonObject);

@NonNull
public static Bitmap screenShot(View view) {
    Bitmap bitmap = Bitmap.createBitmap(view.getWidth(),
            view.getHeight(), Bitmap.Config.ARGB_8888);
    Canvas canvas = new Canvas(bitmap);
    view.draw(canvas);
    return bitmap;
}
...