Rxjava与观察者通信以强制OnComplete

时间:2019-05-07 20:45:03

标签: android multithreading kotlin rx-java

我正在从AudioRecord对象创建一个可观察对象,该对象将循环播放直到满足条件。一旦满足,它将调用onComplete。我还希望能够向可观察对象发出信号以停止循环。完成后,我需要开始另一个可观察的事件,所以我需要它来完成。

    fun startListening(): Completable {
        return Completable.create { channel ->
            val recorder = AudioRecord()
            while (recorder.isRecording() && !xxx) {
                if (recorder.read(buffer, 0, buffer.size) == buffer.size) {
                    break
                }
            }
        record.stop()
        record.release()
        channel.onComplete()
        }
   }

是否有任何线程安全的方法可以与主线程进行通信以使其可观察/可完成以告知其完成?

0 个答案:

没有答案