Flowable 的缓冲结果

Buffering result from Flowable

我有这段代码可以从 网络摄像头 捕获图像,每秒 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);

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

Flowable.interval(0, 1, TimeUnit.MILLISECONDS)
            .map(...)
            .buffer(300)
            .subscribe(...)