0

Lorsque le TTS est terminé, la lecture de onDone (String utteranceId) est appelée depuis l'endroit où j'ai l'intention d'appeler pour que la phrase suivante soit lue. Mais quand j'appelle à nouveau tts.stop() onDone (String utteranceId) est appelé. Alors, comment vais-je être en mesure de différencier les deux afin que je ne devrais pas appeler la phrase suivante lorsque l'utilisateur s'arrête TTS?Comment différencier quand TTS est arrêté et que TTS est joué?

Répondre

0

tts.stop() comme vous le dites, est appelé par - ou plutôt, à partir de votre code. Lorsque vous faites cela, définissez une valeur booléenne de iStoppedManually à true.

Lorsque l'écouteur de progression appelle onDone(), vérifiez la valeur de iStoppedManually. Si c'est vrai, vous saurez l'a fait, sinon, continuez comme d'habitude.

Ne pas oublier de réinitialiser iStoppedManually chaque fois que vous trouvez qu'il est défini sur true dans onDone()