私は自分のアクティビティでアンドロイドの音声技術にテキストを実装しようとしていますが、私は奇妙なエラーに直面しています。私のコードからは何の音も聞こえません。 speakメソッドはonInitメソッドに配置した場合にのみ機能し、それ以外の場合は発言しません。次のようにAndroid TTSは話しません
私のコードは次のとおりです。
public class GameOverActivity extends Activity implements OnInitListener { private TextToSpeech talker; .... talker = new TextToSpeech(this, this); say("Something",false); ... public void onInit(int status) { if (status == TextToSpeech.SUCCESS) { talker.setLanguage(Locale.US); } else if (status == TextToSpeech.ERROR) { Toast.makeText(this,"Error occurred while initializing Text-To-Speech engine", Toast.LENGTH_LONG).show(); } void say(String text, boolean flush) { if(flush == true) { talker.speak(text,TextToSpeech.QUEUE_FLUSH,null); } if(flush == false) { talker.speak(text,TextToSpeech.QUEUE_ADD,null); } }
奇妙なことは、私はのOnInitで言う方法を配置する場合、それが正常に動作していることです!
私は慎重に、ここでの結果ですlogcatを見て:
TtsService.OnCreate() のTTは AudioTrackが100
に発話速度を設定succusfully EN-USロードTTSService.setLanguage を を開始ロードされます何も起こらない。
上記のコードに何が間違っているかについての考え方はありますか?
ありがとうございます!
開始時に何がflushの値ですか? – Brian
それを真実か偽にするかは、何の違いもありません。 – Nick