2016-09-14 1 views
1

現在、私はAndroid用CMU pocketpshinxに取り組んでおり、他のウィンドウからメニューウィンドウをアクティビティに分離したいと考えています。私はかなり新しいコーディングをしており、それに問題があります。私は自分のコードが正しいと思う、私はちょうどそれを配置する場所を知らない。どんな助けも素晴らしいだろう!あなたはonPartialResult()方法でコードを配置する必要がありCMU pocketsphinx androidデモをアクティビティに分ける方法

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デモコードを持っている場合は、 "Phones"、 "Forecast"などを医学用語 "BloodPressure"、 "HeartRate"などに変更しました – Erz

+1

1)アクティビティを1つだけ開始できます。 2)これらのコードを他のアクティビティの中に配置します。 –

答えて

0

は、ここに私の新しいアクティビティコード(私はPocketSphinxActivity Javaファイルでそれをどこに配置するかわからないよ)です。さまざまな音声コマンドに対して実行するアクションを異なるようにするには、コード内で必要に応じてif-elseまたはswitchを使用します。

私は別の新たな活動を開始するために、あなたの提供されたコードがOKとBloodPressureクラスは、コマンド「血圧」を聴くために実行され、HeartRateクラスは、コマンド「心拍数」とPatientInfoクラスを聴くために実行されることを想定していますコマンド "patient info"を聞くために実行されます。また、文法ファイルや認識システムで、「血圧」、「心拍数」、「患者情報」の各部分を認識するように正しく設定していることを前提としています。

次に、あなたのコードは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); 
     } 
}  

希望これは

関連する問題