Android Local changing when using TTS to speak a String from BARCODE scanner via intent -


i'm developing application scans barcodes using external application via intent (barcode scanner). after receiving result of scan, use result find texte in database texte can either english or french, send via intent activity wich sound synthesis via tts . application supposed support french , english languages. managed playing booleens way :

private string localelang = locale.getdefault().getiso3language(); private boolean is_fr = localelang.equalsignorecase("fra"); 

my goal force app force tts talk english accent if locals not french (so can japannese or whatever tts should keep english accent).

i intetionnaly choose device language other frnech or english , here comes problem. because after invoking barcode scanner locals seems change match device once because of external intent barcode scanner, , whatever try tts talk accent of device.

i know seems complicated code long sent in message. 1 solution between lot i've been trying in vain :

 public void oninit(int status) {                string synthesis = aparler.tostring();     if (!is_fr){         vocal.setlanguage(locale.us);                        vocal.speak( synthesis, texttospeech.queue_flush,null);     }     else if(is_fr){         vocal.setlanguage(locale.france);                    vocal.speak( synthesis, texttospeech.queue_flush,null);     } 

when ommit barcode scanner goes fine, i'm sure fact of invoking app via intnent responsible this. can't debug because avd not support camera scan ... it's frustrating... helping me , excuse poor english.

i found there option text spech settings wich override language's choices , disabled it, , works charm !


Comments

Popular posts from this blog

django - How can I change user group without delete record -

java - Need to add SOAP security token -

java - EclipseLink JPA Object is not a known entity type -