2017-11-18 4 views
0

多くのブログを読んでいますが、シャットダウンを呼び出した後に更新されたテキスト文字列について話しています。次に演奏をクリックすると、古いストリングと新しいストリングを話します。コードは次のとおりです。Queue_Flushテキストをフラッシュしないで、スピーキングを更新しました

@Override 
protected void onCreate(@Nullable Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 


    setContentView(R.layout.batful); 
    try { 


     editor = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit(); 
     // editor.putBoolean("b", true).apply(); 
     sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); 
     value = sharedPreferences.getString("personalmessage", null); 
     Log.e("Voice Message create: ", value); 


     value = sharedPreferences.getString("personalmessage", null); 

     textToSpeech = new TextToSpeech(getApplicationContext(), new TextToSpeech.OnInitListener() { 
      @Override 
      public void onInit(int i) { 
       if (i != TextToSpeech.ERROR) { 

        textToSpeech.setLanguage(Locale.ENGLISH); 
         /* textToSpeech.setLanguage(Locale.getDefault());*/ 

        final Handler h = new Handler(); 

        h.postDelayed(new Runnable() { 
         public void run() { 

          if (Build.VERSION.SDK_INT >= 21) { 

           textToSpeech.speak(value, TextToSpeech.QUEUE_FLUSH, null, null); 

          } else { 
           textToSpeech.speak(value, TextToSpeech.QUEUE_FLUSH, null); 
          } 
          h.postDelayed(this, delay); 
         } 
        }, delay); 

       } 
      } 
     }); 


     stopvol = (TextView) 

       findViewById(R.id.stop); 
     stopvol.setOnClickListener(new View.OnClickListener() 

     { 
      @Override 
      public void onClick(View view) { 

       turnoffbeep(getApplicationContext()); 
       finish(); 
      } 
     }); 
    } catch (
      Exception e) 

    { 
     e.printStackTrace(); 
    } 

} 

static void turnoffbeep(Context contextforstat) { 

    Log.i(TAG, "Turn Off beep"); 

    if ((textToSpeech != null)) { 
     // textToSpeech.stop(); 
     textToSpeech.shutdown(); 


    } 
} 

QUEUE_FLUSHが追加されていますが、結果が得られない場合はこちらをご覧ください。 Androidのドキュメントを見ると、正しいと思います。まだ誰かが古いテキストを削除しない正しい理由を探すのを助けてくれた場合、pls

テキストを編集するために共有設定から入力を変更した場合、ちょっと別の事実があります。

答えて

0

R & Dが発行された後、混乱を起こして古いテキストを取り上げるのはハンドラでした。シャットダウンはハンドラをキャンセルせず、再生は別のハンドラを既存のものに追加することでした。

関連する問題