Pocketsphinx:应用程序无法启动



我在PocketSphinx上遇到了一个问题,每当我执行该代码时,应用程序就会自动关闭。我已经在想为什么它几个小时都不起作用了,也许有人能帮我?:)到目前为止,代码是这样的,

Main:

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导入tutorialcode中的所有内容,但我也可能在那里犯了一个错误。

谢谢你,

Jannis

从onPartialResult方法中删除"identifier.cancel();",在应用程序关闭时使用它。

public void onDestroy() {
        super.onDestroy();
        recognizer.cancel();
        recognizer.shutdown();
    }

相关内容

  • 没有找到相关文章

最新更新