-2
votes

Comparez le texte de la parole au texte dans une vue texte

Brève description de l'application

L'utilisateur Voir un texte qui a un mot. L'utilisateur cliquera sur un bouton qui déclenchera le discours sur l'API de texte et dire le mot donné sur le TextView. Maintenant, j'ai besoin de faire correspondre le texte de la parole au texte dans TextView.

Supposons que le texte dans la vue Text est "Hello Comment allez-vous"

texte de la parole à texte API est "Bonjour Comment Vous "

Je sais que nous pouvons correspondre comme xxx

mais je ne veux pas correspondre comme une chaîne totale. Je veux correspondre à chaque caractère de la chaîne une par une.

Si le caractère correspondant, la couleur du caractère correspondant sera verte sinon elle sera rouge.


0 commentaires

3 Réponses :


-1
votes

Vous pouvez parcourir une chaîne et vérifier chaque caractère qui était.

using System;

class Program
{
    static void Main()
    {
        const string s = "peace";
        foreach (char c in s)
        {
            Console.WriteLine(c);
        }
        for (int i = 0; i < s.Length; i++)
        {
            Console.WriteLine(s[i]);
        }
    }
}


6 commentaires

J'ai changé ma réponse CUS Je pensais que ce serait mieux;)


Connaissez-vous une autre approche?


Vous pouvez également essayer un dictionnaire, mais tout est pareil à la fin. boucle au pouge. donc non. Pas vraiment désolé. Ne pas dire qu'il n'y a pas d'autre choix. c'est juste le seul que je puisse penser en ce moment


@Gino Je pense que le code doit être dans java ou kotlin car la question est étiquetée Android :)


Cela pourrait être très vrai, mais la pensée derrière la solution reste la même haha


Cela semble bien



0
votes

extrait et est venu avec quelque chose comme ceci:

String viewText = textview.getText();
String spokenText; //define yourself

for (int i = 0; i <= viewText.length(); i++) {
    char letter = viewText.charAt(i);
    char spokenLetter = spokenText.charAt(i);
    if(letter==spokenLetter) {
       //proceed further
    }
    else { 
        // return false
    }
}


1 commentaires

Merci gourav..Je mettra en œuvre au-dessus de la logique et vous laissera savoir



0
votes

Vous pouvez créer une mise en page linéaire vide dans votre XML avec une orientation horizontale et ajouter chaque lettre de manière dynamique après la comparaison dans un exemple de TextView ForExample différent quelque chose comme: xxx


0 commentaires