Pocketsphinx: приложение не запускается
У меня проблема с PocketSphinx, когда я выполняю этот код, приложение автоматически закрывается. Поскольку я уже пытаюсь выяснить, почему это не работает часами, может быть, кто-то может мне помочь?:) пока код выглядит так,
Главный:
public class MainActivity extends Activity implements RecognitionListener {
public SpeechRecognizer recognizer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
try
{
Assets assets = new Assets(MainActivity.this);
File assetDir = assets.syncAssets();
setupRecognizer(assetDir);
}
catch (IOException e)
{
}
}
setupRecognizer:
private void setupRecognizer(File assetsDir)
{
try {
recognizer = defaultSetup()
.setAcousticModel(new File(assetsDir, "en-us-ptm"))
.setDictionary(new File(assetsDir, "cmudict-en-us.dict"))
.setRawLogDir(assetsDir).setKeywordThreshold(1e-20f)
.setBoolean("-allphone_ci", true)
.getRecognizer();
recognizer.addListener(this);
recognizer.addKeyphraseSearch("keywordsearch", "oh mighty Computer");
recognizer.startListening("keywordsearch");
} catch (IOException e) {
}
onPartialResult:
public void onPartialResult(Hypothesis hyp) {
if (hyp == null) {
}
TextView t = (TextView) findViewById(R.id.textviewcontrol);
t.setText("found");
recognizer.cancel();
}
может быть, это помогает: пока приложение запускается (=> ничего не делает, кроме отображения текста), когда я закомментирую эти строки:
recognizer.addKeyphraseSearch("keywordsearch", "oh mighty Computer");
recognizer.startListening("keywordsearch");
когда я только комментирую один из них, это не работает.
так наверное там ошибка? Я пытался импортировать все, как в учебном коде для Android, но я тоже мог ошибиться там.
благодарю вас,
Jannis
1 ответ
Удалите "ognizer.cancel();" из метода onPartialResult используйте его, когда ваше приложение закрывается.
public void onDestroy() {
super.onDestroy();
recognizer.cancel();
recognizer.shutdown();
}