是否有人在LibGDX中使用AsyncTask与AsyncResult和AsyncExecutor? 我想异步运行一些录音和处理,检查结果是否准备就绪。 这是我的代码的一部分:
private FftAnalysis analysis;
private AsyncExecutor executor;
private AsyncResult<Double> asyncResult;
(...)
public GameWorld(int midPointY) {
executor = new AsyncExecutor(300); // I know how big this value is.
analysis = new FftAnalysis();
asyncResult = executor.submit(analysis);
}
public void update(float delta){
if(asyncResult.isDone()){
freq = asyncResult.get();
asyncResult = executor.submit(analysis);
}
isDone()永远不会是真的,我没有看到FftAnalysis执行过的函数call()......
我做错了什么?
答案 0 :(得分:1)
为什么不使用libgdx api来做呢?在这里查看Timer类和Task类:http://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/utils/Timer.html。
基本上,您可以在单独的线程中运行代码,并在完成后获得结果。