Reconnaissance vocale Commandes Android
-
27-10-2019 - |
Question
Je l'ai cherché loin pour une sorte de solution à la question en ce qui concerne la suppression de la boîte de dialogue de reconnaissance vocale interface utilisateur de Google lorsqu'un utilisateur veut effectuer une commande vocale, mais ont été incapables de trouver une solution. Je suis en train de mettre en œuvre une application qui affiche un menu à l'utilisateur et l'utilisateur peut cliquer sur les options ou dire les options à haute voix qui ouvrira les nouvelles pages. Jusqu'à présent, Ive été incapable de mettre en œuvre ce à moins d'utiliser Googles RecognizerIntent mais je ne veux pas que la boîte de dialogue pour faire apparaître. Quelqu'un at-il des idées? Ou quelqu'un a résolu ce problème ou trouvé une solution de contournement? Merci
EDIT: Comme un compromis peut-être il y a un moyen de déplacer la boîte de dialogue vers le bas de l'écran tout en étant en mesure d'afficher mon menu
La solution
Je suis assez sûr que les frais Nuance / Dragon pour la production ou des applications commerciales qui utilisent leurs services. Si cela est juste une démo, vous pouvez être très bien avec le compte développeur. services vocaux Android sont gratuits pour toutes les applications Android.
Autres conseils
Vous savez que vous pouvez le faire avec les API de Google.
Vous avez probablement cherché à la documentation de l'intention de la reconnaissance vocale. Cherchez plutôt à l'interface RecognitionListener aux API de reconnaissance vocale.
Voici un code pour vous aider
public class SpeechRecognizerExample extends Activity implements RecognitionListener{
//This would go down in your onCreate
SpeechRecognizer recognizer = SpeechRecognizer.createSpeechRecognizer(this);
recognizer.setRecognitionListener(this);
//Then you'd need to start it when the user clicks or selects a text field or something
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
//intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, "zh");
intent.putExtra("calling_package",
"yourcallingpackage");
recognizer.startListening(intent);
//Then you'd need to implement the RecognitionListener functions - basically works just like a click listener
Voici les docs pour un RecognitionListener:
http://developer.android.com/reference/android/speech/ RecognitionListener.html