Développement d'une application similaire à "Google Now" – est-il possible d'utiliser la reconnaissance vocale sans entrée de clé?

J'essaie de développer une application cool qui utilise le moteur TTS et la reconnaissance vocale. Jusqu'à présent, ça va mais je veux plus. Je voudrais créer un service (je pense qu'un service est le bon chemin), c'est toujours "écouter" et quand quelqu'un dit "ok google" ou autre chose, la reconnaissance vocale commence, comme google maintenant. Par exemple, si vous dites "ok google" google commence maintenant. Je ne sais pas par où commencer, alors je demande directement ici si c'est possible. J'ai essayé de regarder ce fil [ici] ( En écoutant des mots-clés en tout temps, comme "Ok google" sur 4.4 ) et la dernière réponse a parlé d'un service, comme je l'ai pensé. Quelqu'un peut-il m'aider avec mon code?

Par exemple, c'est le code pour commencer la reconnaissance de la parole en appuyant sur un bouton:

  • Android Retrofit2 Refresh Oauth 2 Token
  • Comment passer des options de ligne de commande à l'émulateur dans Android Studio?
  • Quand dois-je utiliser l'autorisation ACCESS_COARSE_LOCATION?
  • Adaptateur Recyclerview et Glide - même image toutes les 4-5 lignes
  • Existe-t-il un code nécessaire dans Activity afin que ga_autoActivityTracking = true fonctionne pour Google Analytics V4
  • Android Fragment aucune vue n'a été trouvée pour ID?
  •  /** * Instruct the app to listen for user speech input */ private void listenToSpeech() { //start the speech recognition intent passing required data Intent listenIntent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); //indicate package listenIntent.putExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE, getClass().getPackage().getName()); //message to display while listening listenIntent.putExtra(RecognizerIntent.EXTRA_PROMPT, "Say a word!"); //set speech model listenIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); //specify number of results to retrieve listenIntent.putExtra(RecognizerIntent.EXTRA_MAX_RESULTS, 10); //start listening startActivityForResult(listenIntent, VR_REQUEST); } 

    Pensez-vous qu'il est possible de lancer cette fonction listenIntent uniquement avec une voix et sans appuyer sur un bouton? C'est ce que je veux dire.

  • WebView Crash par java.io.IOException: fermé échoué: EIO (erreur d'E / S) libcore.io.IoUtils.close (IoUtils.java:41)
  • Android Parable à Kotlin
  • Comment lire l'attribut de dimension personnalisé à partir du code java
  • La division de deux nombres entiers en Java me donne 0 ou 100?
  • StrictMode se plaint que InputStream n'est pas fermé
  • Comment obtenir le chemin d'accès au dossier d'actifs Android dans le package d'application
  • 3 Solutions collect form web for “Développement d'une application similaire à "Google Now" – est-il possible d'utiliser la reconnaissance vocale sans entrée de clé?”

    Vous pouvez faire référence à Utter

    Cette application utilise la détection de mots à chaud comme "Google Now".

    Et il n'y a pas une telle API fournie par Android pour effectuer cette opération.

    N'oubliez pas de publier vos résultats.

    Notez qu'il est très pratique et que la batterie consomme pour écouter tout le temps en arrière-plan.

    Ce n'est pas java, mais avez-vous vu Jasper? Looks prometteurs: http://jasperproject.github.io

    Bien avec Jform, pas sur Android, et vous créez un bouton, vous pouvez appeler button.doClick (). Donc, ce que j'ai utilisé était un Timer, Timer.scheduleAtFixedRate (nouvelle tâche (), int delay, int iterval); Afin de le faire de façon indépendante et répéter. Donc, ce que j'essaie d'obtenir est, je suis certain d'avoir une façon d'utiliser Android. Action / bouton / touche, et ainsi de suite, et vous pouvez utiliser une minuterie pour l'activer indépendamment. En voyant comme un vide, essayez simplement

     listenToSpeech(); 

    En ce qui concerne la minuterie;

     Timer listenTimer = new Timer(); //listenTimer.schedualAtFixedRate(new listeningTask(),0,1);//place this where your program starts as this starts the timer class listeningTask extends TimerTask{ if(condition){ listenToSpeech(); } } 

    Désolé pour le format ou l'indentation, en utilisant une tablette.

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.