TextToSpeech가 디자인 된 것처럼 보입니다. 동시에 하나의 언어 데이터 만로드 할 수 있고 다른 언어 데이터를로드 할 수 있으면 현재 언어 데이터를 언로드하고 새 언어 데이터를로드해야합니다. 여기에 문제를 추가했습니다 : https://code.google.com/p/android/issues/detail?id=200974
Google에서 향후 문제를 해결할 것입니다.
그들은 그것을했습니다!
이제 해결 방법으로 오디오 파일을 사전 합성 한 다음 간단히 재생할 수 있습니다. 예 : Activity를 시작할 때 AsyncTask를 시작하고 백그라운드에서 사운드를 생성 할 수 있습니다. 그리고 준비가되면 UI에 버튼을 표시하여 사용자가 재생할 수있게하십시오. 또한 TextToSpeech는 안드로이드를 사용하여 자신의 서비스 프로세스에 넣는 것이 더 나은 것으로 나타났습니다. setLanguage가 언어 데이터를로드 할 때 일부 장치에서 UI의 동결을 피하기 위해 서비스의 프로세스 특성.
업데이트 2016-02-17 : 2 월 15 일부터 TextToSpeech를 버전 3.8.14로 업데이트했습니다. 지연이 없습니다! 나는 서로 다른 언어 텍스트를 하나씩 읽고 더 이상 지연하지 않는 2 개 언어를 사용하고 있습니다! Google 및 TextToSpeech 팀에게 감사드립니다. 너는 최고야!
업데이트 2016-02-18 : 더 많은 장치를 테스트했는데 여전히 Android 4.x가 사용되는 구형 장치에 문제가 있음을 발견했습니다. Android 4.1.2를 사용하는 XOOM과 Android 4.1.1을 사용하는 일부 noname 디바이스 7100에서 테스트되었습니다. 둘 다 여전히 같은 지연을 가지고 있습니다. 잘 모르겠지만 Android 4.x가 설치된 Android 기기에서 모두 UtteranceProgressListener에 문제가 있음을 확인했습니다. 이러한 장치에서 작동하게하려면 speak() 함수에 utteranceId 매개 변수를 전달해야했습니다. 그러나이 버그가없는 장치는이 매개 변수없이 제대로 작동합니다. 현재 잘 작동하는 기기는 Android 5.0.2의 LG d405입니다. 최근 TextToSpeech 업데이트를 설치하기 전에 동일한 지연 문제가있었습니다.
이 질문의 현재 상태는 어떻습니까? 솔루션을 찾을 수 있었습니까? – user1339260