시각 장애가있는 사람들이 내 응용 프로그램을 사용하므로 텍스트에 집중적으로 의존합니다. 애플리케이션은 API를 호출하고 사용자에게 몇 가지 관련 정보를로드합니다 (android.speech.tts.TextToSpeech 사용).Android의 텍스트 음성을 초기화하는 속도가 매우 느림
음성을 텍스트로 초기화 할 때 가끔 10 초 이상 걸리며 내 응용 프로그램의 주요 병목 현상이 있다는 것을 제외하고는 모든 것이 잘 작동합니다.
이 문제를 완화하기 위해 코드를 최적화 할 수있는 방법에 대한 아이디어가 있다면 궁금합니다.
먼저 내 응용 프로그램은 TTS 데이터를 확인하기위한 활동을 시작합니다.
Intent checkIntent = new Intent();
checkIntent.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA);
startActivityForResult(checkIntent, MY_DATA_CHECK_CODE);
그런 다음이 메서드는 작업 결과와 함께 호출됩니다. 결과에 따라 음성 텍스트가 방금 초기화되거나 (거의 항상 발생) 또는 음성 텍스트가 장치에 설치됩니다 (매우 드문 경우). 이 모든 것이 완료 될 때
private TextToSpeech mTts;
@Override
protected void onActivityResult(
int requestCode, int resultCode, Intent data) {
if (requestCode == MY_DATA_CHECK_CODE) {
if (resultCode == TextToSpeech.Engine.CHECK_VOICE_DATA_PASS) {
// success, create the TTS instance
mTts = new TextToSpeech(this, this);
} else {
// missing data, install it
Intent installIntent = new Intent();
installIntent.setAction(
TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA);
startActivity(installIntent);
}
}
}
마지막으로, 내 응용 프로그램은 API를 호출하고이 같은 여러 줄이 있습니다
mTts.speak("<Useful output here>", TextToSpeech.QUEUE_FLUSH, null);
이 도움을 주셔서 감사합니다!
이 스레드 확인 [Text To Speech 앱 UI가 느린 Android입니다.] (http://stackoverflow.com/a/24398365/2584794) – Anup