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