繁体   English   中英

如何侦听活动中等待计算完成的事件?

[英]How can I listen for events in my activity waiting for a computation to finish?

我有一个主要活动需要监听音频流的计算结果。 这是主要活动

private void setSoundProcessListener() {
    SoundProcess object = new SoundProcess(music_stream1, music_stream2);
    
    object.setSoundProcessListener(new SoundProcessListener.SoundProcessListener() {

        @Override
        public void onDataLoaded(String data) {
            // I want this to get called every time I complete processing a piece of sound
            do something...
        }
    });
}

如何创建一个异步调用另一个函数的 SoundProcess 类,以便每次成功处理来自流的一段声音(某些分析函数)时,我都能获得该计算的结果?

声音处理器类:

public SoundProcess(music_stream1, music_stream2) {
    process sound.... on complete return the resulting data to the main activity listener aand continue processing more sound from the streams
}

创建一个具有函数的接口,该函数将成为您活动中的回调函数。 在您的活动中实现该接口..

在您的 SoundProcess 类中,

声明一个成员变量:

  SPInterface ac ;//SPInterface is name of the interface.

在 SoundProcessor 类中的函数内部,您将在其中了解声音处理将完成,写:

 ac = (MainActivity)activity
 ac.fun1()

//fun1() 是您将在您的活动中拥有的接口的功能,以使您的活动通知处理已完成。您必须在您的 soundProcessor 类中有对活动对象的引用。不要将其声明为成员变量否则可能会导致潜在的内存泄漏。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM