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();
    }
Другие вопросы по тегам