我正在与 Pure Data 合作在 Android 上构建对声音敏感的应用程序。在完成所有修补之后,我现在希望能够不依赖 libpd 方法(例如设置侦听器和信息接收方法),因此我可以通过几行代码将 Pd 与任何 Activity 一起使用。
问题是我希望能够根据 Activity 以不同的方式处理从 Pd 获得的输出(我现在有一个多活动应用程序)。但我似乎无法找到一种方法来做到这一点,而不覆盖 Pd 调度程序上的侦听器,从而导致代码混乱和样板代码过多。
我一直在寻找一种方法来构建我自己的自定义侦听器,当 libpd 从 Pd 接收信息时调用该侦听器,但这会为 Activity 本身添加更多代码行!
这就是我现在处理每个活动信息的方式(简化)。
pd.getMyDispatcher().addListener("bonk-cooked", new PdListener.Adapter() {
@Override
public void receiveList(String source, Object... objects) {
String bonkOutput;
int template = (int) Double.parseDouble(objects[0].toString());
float velocity = Float.parseFloat(objects[1].toString());
}
};