有人在 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() 被执行过......
我做错了什么?
最佳答案
为什么不直接使用 libgdx api 来做到这一点?在这里查看 Timer 类和 Task 类:http://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/utils/Timer.html .
基本上,您可以在单独的线程中运行您的代码,并在完成时获得结果。
关于java - LibGDX 中的 AsyncTask - 示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30463504/