sto sviluppando un modulo per leggere il file di testo e riprodurre come voce utilizzando TTS. ho integrato con successo TTS nel mio modulo. e anche leggendo e parlando i primi 4000 caratteri.Come utilizzare TTS (TextToSpeech) mentre la stringa ha più di 4000 caratteri in Android
Ho una stringa con più di 4000 caratteri, potrebbe avere anche più di 10000. in questo momento non riesco a leggere file e riprodurre utilizzando TTS.
ho provato suddividendo la stringa grande in una piccola parte di stringa. ogni parte di stringa ha 4000 caratteri.
mentre sto suonando la prima parte di stringa, funziona correttamente come richiesto. ma dopo aver completato la prima parte di stringa, voglio iniziare subito la seconda parte. ma TTS non l'ha avviato.
sto usando
int pos = 0;
while(true) {
String var = "";
try {
var = str.substring(pos, 3999);
pos += 3999;
} catch(Exception e) {
var = str.substring(pos, str.length());
break;
}
HashMap<String, String> map = new HashMap<String, String>();
map.put(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID, "utteranceId");
tts.speak(var, TextToSpeech.QUEUE_ADD, map);
}
ho provato un sacco. anche cercato sul web ma non ottenendo alcuna buona soluzione.
c'è un setOnUtteranceCompletedListener(), penso che questo possa essere utile. ma come può qualcuno, per favore, aiutarmi. come posso riprodurre testi di grandi dimensioni usando TTS. o qualsiasi altra tecnica disponibile?
possibile duplicato di [testo TTS Android più lungo di 4 caratteri non riproducibili] (http://stackoverflow.com/questions/13440251/android-tts-text-longer-than-4k-chars-not-playing) – cygery