Flowable的缓冲结果

问题描述 投票:0回答:1

我有这段代码可以捕获来自webcam的图像,每秒1张图像。

Flowable.interval(0, 1, TimeUnit.MILLISECONDS)
            .map(aLong -> {
                BufferedImage bufferedImage = webcam.getImage();
                return bufferedImage;
            }).subscribe(bufferedImage -> {
        if(bufferedImage != null) {
        }
        // Capture 1000 images
    }, error -> {
        System.out.println(error.getMessage());
    });

[使用RxJava,我如何使其首先缓冲300张图像,然后将300张图像(可能是Java数组)传递到用于处理的方法中,例如processImages(bufferedImageArray);

java rx-java rx-java2
1个回答
0
投票

只需使用buffer(count)运算符:

Flowable.interval(0, 1, TimeUnit.MILLISECONDS)
            .map(...)
            .buffer(300)
            .subscribe(...)
© www.soinside.com 2019 - 2024. All rights reserved.