gpt4 book ai didi

java - 等待监听器完成任务并获取另一个函数的结果 [Android]

转载 作者:太空宇宙 更新时间:2023-11-04 12:47:00 29 4
gpt4 key购买 nike

我想从我的文件浏览器函数获取文件路径,但是我的文件浏览器函数有监听器,所以如果我在此文件浏览器函数之后调用另一个函数,它会崩溃,因为路径仍然是空的,这是我想调用的两个函数:

public void openFileExplorer() {
File mPath = new File(Environment.getExternalStorageDirectory() + "/");
fileDialog = new FileDialog(this, mPath);
fileDialog.addFileListener(new FileDialog.FileSelectedListener() {
public void fileSelected(File file) {
Log.d(getClass().getName(), "selected file " + file.toString());
chosenFile = file.toString();
}
});
fileDialog.showDialog();
}

private void generateMFCC(String path) {
// btnBrowse.setText("Done");
Log.d(getClass().getName(), ": Success");
buffer = mRecorder.ReadWave(path);
data = new float[buffer.length];

for (int i = 0; i < buffer.length; i++) {
data[i] = (float) buffer[i];
}
//Toast.makeText(getApplicationContext(), "Success", Toast.LENGTH_SHORT).show();
preProcess = new PreProcess(data, samplePerFreame, sampleRate);
featureExtract = new FeatureExtract(preProcess.framedSignal, sampleRate, samplePerFreame);
featureExtract.makeMfccFeatureVector();
featureVector = featureExtract.getFeatureVector();
double[][] fv = featureVector.getMfccFeature();

for (int i = 0; i < fv.length; i++) {
test = test + "{" + "\n";
for (int j = 0; j < fv[i].length; j++) {
test = test + Double.toString(fv[i][j]) + ", ";
}
test = test + "}" + "\n";
}}

我这样调用该函数:

openFileExplorer();
generateMFCC(chosenFile);

但在文件资源管理器对话框打开之前总是出现错误

最佳答案

仅从 openFileExplorer 调用generateMFCC。

public void openFileExplorer() {
File mPath = new File(Environment.getExternalStorageDirectory() + "/");
fileDialog = new FileDialog(this, mPath);
fileDialog.addFileListener(new FileDialog.FileSelectedListener() {
public void fileSelected(File file) {
Log.d(getClass().getName(), "selected file " + file.toString());
chosenFile = file.toString();
generateMFCC(chosenFile);

}
});
fileDialog.showDialog();
}

关于java - 等待监听器完成任务并获取另一个函数的结果 [Android],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36216708/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com