0

Je développe une application dans laquelle l'utilisateur peut prononcer la commande et elle sera exécutée. Tout comme l'application "Recherche vocale" de Google. Je veux utiliser l'ensemble des commandes associées aux actions de recherche vocale.La recherche vocale de Google à l'aide de RecognizerIntent.ACTION_RECOGNIZE_SPEECH n'effectue pas d'action.

Mon code est le suivant:

@Override 
public void startVoiceRecognitionActivity() { 
    // TODO Auto-generated method stub 
    Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); 
    intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, 
      RecognizerIntent.LANGUAGE_MODEL_WEB_SEARCH); 
    intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "Command me"); 
    startActivityForResult(intent, REQUEST_CODE); 
} 


@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 
     super.onActivityResult(requestCode, resultCode, data); 
     switch (requestCode) { 
     case REQUEST_CODE: { 
      ArrayList<String> matches = data 
        .getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS); 
      ApplicationDebug.printlog("got inside onactivityresult"); 
      String spokenText = matches.get(0); 
      Toast.makeText(getApplicationContext(), spokenText, 
        Toast.LENGTH_LONG).show(); 
      // super.onActivityResult(requestCode, resultCode, data); 
      break; 
     } 
    } 
} 

sur certains CLICK Je fais appel startVoiceRecognitionActivity().

Il détecte la voix correctement mais l'action ne se produit pas ici. Ce que je veux dire exactement, c'est si je dis "Open Calculator", il montre le texte correctement, mais n'ouvre pas l'application calculatrice.

+1

Vous devrez développer votre propre logique de correspondance. Autrement dit, lorsque 'spokenText' est égal à' open calculator', ouvrez l'application calculatrice. La reconnaissance de la parole n'est que la transcription de la voix vers le texte, ce n'est pas l'interpréter, encore moins l'exécution de toute action basée sur cette interprétation. –

+0

merci pour votre réponse. y a-t-il des api de google application de recherche vocale que je peux utiliser directement pour que je puisse obtenir des actions qu'ils utilisent? –

+2

Je ne peux pas dire à coup sûr, mais j'en doute vraiment. –

Répondre

0

On dirait que vous cherchez ceci:

RecognizerIntent.ACTION_VOICE_SEARCH_HANDS_FREE

Questions connexes