2016-09-14 4 views
1

В настоящее время я работаю над карманным карманом CMU для Android и хочу отделить окно меню от других окон от действий. Я довольно новичок в кодировании, и у меня возникают трудности с этим. Я думаю, что мой код прав, я просто не знаю, где его разместить. Любая помощь будет замечательной!Как разделить демонстрацию андроида CMM pocketsphinx на действия

Вот мой новый код вида деятельности (я не уверен, куда поместить его в файл PocketSphinxActivity Java):

Intent i = new Intent("edu.cmu.pocketsphinx.demo.BloodPressure"); 
startActivity(i) 
Intent j = new Intent("edu.cmu.pocketsphinx.demo.HeartRate"); 
startActivity(j) 
Intent k = new Intent("edu.cmu.pocketsphinx.demo.PatientInfo"); 
startActivity(k) 
+0

ли добавить свой код, который вы уже пробовали, это помогает другим понять и решить вашу проблема лучше –

+0

я редактировал мой пост, чтобы добавить код. Если у вас есть оригинальный демо-код Pocketsphinx android, я изменил «Телефоны», «Прогноз» и т. Д. В медицинские термины «BloodPressure», «HeartRate» и т. Д. – Erz

+1

1) Вы можете начать только одно действие. 2) Поместите этот код в некоторые другие действия, если вы хотите запустить эти –

ответ

0

Вы должны разместить коды в onPartialResult() методе. Для различных действий, которые необходимо выполнить для разных голосовых команд, вы можете использовать if-else или switch в соответствии с вашими потребностями в коде.

Я предполагаю, что ваш предоставляется код для запуска различных новых видов деятельности в порядке и BloodPressure класса будет работать для прослушивания команды «кровяного давления», то HeartRate класса будет работать для прослушивания команды «сердечного ритма» и PatientInfo класса будет запускаться для прослушивания команды «информация о пациенте». Я также предполагаю, что вы внесли правильные конфигурации в свои грамматические файлы и систему распознавания, чтобы распознать детали «кровяное давление», «сердечный ритм» и «информация о пациенте».

Тогда ваш код может идти, как это с помощью if-else:

public void onPartialResult(Hypothesis arg0) { 
     if(arg0 == null){ return; } 

     String command = arg0.getHypstr(); 

     if(command.equals("blood pressure")) { 
      recognizer.stop(); 
      Intent i = new Intent("edu.cmu.pocketsphinx.demo.BloodPressure"); 
      startActivity(i); 
     } 
     else if(command.equals("heart rate")) { 
      recognizer.stop(); 
      Intent j = new Intent("edu.cmu.pocketsphinx.demo.HeartRate"); 
      startActivity(j); 
     } 
     else if(command.equals("patient info")) { 
      recognizer.stop(); 
      Intent k = new Intent("edu.cmu.pocketsphinx.demo.PatientInfo"); 
      startActivity(k); 
     } 
}  

Надеется, что это помогает