问题描述
假设我有两个视频流。
Observable<List<Long>> events = Observable.interval(1,TimeUnit.SECONDS).buffer(5,TimeUnit.SECONDS);
Observable<Long> baseEvent = Observable.just(-1);
baseEvent
是必须发送给订户并随后用于丰富events
流的第一个事件。
两个流必须同时订阅,因为baseEvent是一个长期运行的操作,因此我们不想错过events
流发出的任何内容,因此我们对其进行缓冲。
到目前为止,我已经尝试过
Observable.create(em ->
baseEvent
.doOnNext(em::onNext)
.map(be -> events.map(ev -> be + ":" + ev))
.subscribe(em),Emitter.BackpressureMode.BUFFER)
.subscribe(System.out::println);
一个明显的问题是,如果baseEvent
花费很长时间发射,那么我们将错过events
流发射。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)