2014-07-05 3 views
0

작업을 수행하지 않는 것은 내 코드onUtterenceCompleteListener 내가 여기 내가 연설에 텍스트 완료 후 축배를 인쇄하고자하는 응용 프로그램을 쓰고 있어요

if (tts != null) { 
     tts.stop(); 
     tts.shutdown(); 
    } 
    tts = new TextToSpeech(MainActivity.this, 
      new TextToSpeech.OnInitListener() { 

       @SuppressWarnings("deprecation") 
       @Override 
       public void onInit(int status) { 
        // TODO Auto-generated method stub 
        if (status == TextToSpeech.SUCCESS) { 

         int result = tts.setLanguage(Locale.US); 
         if (result == TextToSpeech.LANG_MISSING_DATA 
           || result == TextToSpeech.LANG_NOT_SUPPORTED) { 
          Log.e("error", "This Language is not supported"); 
         } else { 

          tts.speak("speak new or retrieve", 
            TextToSpeech.QUEUE_ADD, null); 
          tts.setOnUtteranceCompletedListener(new 
OnUtteranceCompletedListener() { 

           @Override 
           public void onUtteranceCompleted(String arg0) { 
            // TODO Auto-generated method stub 
            runOnUiThread(new Runnable() { 

             @Override 
             public void run() { 
              // TODO Auto-generated method 
              // stub 

              Toast.makeText(getApplicationContext(), 
"done........", Toast.LENGTH_SHORT).show(); 
             } 
            }); 
           } 
          }); 

하지만 연설 후 토스트 appearing.please되지 않는다 help ....

답변

0

텍스트를 사용한 후에 TextToSpeech.OnUtteranceCompletedListener에서 발화를 식별하려면 매개 변수 키 KEY_PARAM_UTTERANCE_ID로 통화를해야합니다.

호출은 다음과 같이해야한다 : 나는 또한 호출하기 전에 tts.setOnUtteranceCompletedListener()를 설정하는 것이 좋습니다

tts.speak("speak new or retrieve",TextToSpeech.QUEUE_ADD, new HashMap<String,String>() 
    {{ 
      put(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID, 
       what_do_you_want_to_play_utterance_id); 
    }} 
)); 

말을().

관련 문제