मेरे ऐप में मैं टीटीएस का उपयोग कर रहा हूं। मेरे पास 20 अलग-अलग गतिविधियां हैं जो उपयोगकर्ता बदल जाती हैं जब उपयोगकर्ता बाएं या दाएं स्वाइप करते हैं। गतिविधि के अनुसार, एक पाठ बोली जाती है। मैं अलग थ्रेड के साथ टीटीएस निष्पादित कर रहा हूं और मुख्य चयन के साथ गतिविधि चयन किया जाता है। लेकिन समस्या बहुत धीमी है, यूआई सुस्त महसूस करता है। जब मैं बाएं या दाएं स्वाइप करता हूं, एक बार टीटीएस पाठ बोलने के बाद, गतिविधि बदलती है जो नहीं होना चाहिए क्योंकि मैं टीटीएस के लिए अलग थ्रेड का उपयोग कर रहा हूं। यहाँ कोड है:टेक्स्ट टू स्पीच ऐप यूआई धीमा एंड्रॉइड
टीटीएस वर्ग:
public class textToSpeech {
TextToSpeech tts=null;
public textToSpeech(Context con)
{
tts = new TextToSpeech(con,new TextToSpeech.OnInitListener() {
@Override
public void onInit(int status) {
if(status != TextToSpeech.ERROR) // initialization me error to nae ha
{
tts.setPitch(1.1f); // saw from internet
tts.setSpeechRate(0.4f); // f denotes float, it actually type casts 0.5 to float
tts.setLanguage(Locale.US);
}
}
});
}
public void SpeakText (String text)
{
tts.speak(text, TextToSpeech.QUEUE_FLUSH, null); // TextToSpeech.QUEUE_FLUSH forces the app to stop all the sounds that are currently playing before speaking this text
}
public void stopSpeak()
{
tts.stop();
}
इशारा रीडर वर्ग: (अलग वर्ग)
public void decideAlphabet()
{
tts.stopSpeak();
threadForTTS.start();
switch (i)
{
case 0:
activities=null;
activities = new Intent(contxt,A.class);
contxt.startActivity(activities);
break;
case 1:
activities=null;
activities = new Intent(contxt,B.class);
contxt.startActivity(activities);
break;
....... 20 more case statements for selecting activities
}
decideActivity() जब यह चेक किया गया है विधि कहा जाता है, जो स्वाइप किया गया था, दाएं या बाएं स्वाइप करें।
नोट:
इस ऐप्लिकेशन में टीटीएस जोड़ने से पहले, यूआई अंतराल या धीमापन बिना ठीक से प्रदर्शन कर रहा था। टीटीएस जोड़े जाने के बाद, ऐप धीमा हो गया। मैं इस समस्या को
सादर कैसे हल कर सकते हैं
किसी भी यहाँ शरीर में मदद करने के ??? – user2498079