Table des matières:
- Trois types de commandes vocales
- Configurer le filtre d'intention
- Obtenir le texte de la voix
- Ouvrir une connexion à Google Play
- "
- Il existe toutes sortes de choses intéressantes que vous pouvez faire avec les commandes vocales sur les plateformes Android et Android Wear. , c heck out les capacités d'ajout de capacités vocales et de réception vocale dans un article de notification sur le site Web du développeur Android. Piratage heureux!
Vidéo: Comment Utiliser La Reconnaissance Vocal, Dictée Vocale Hors Connexion Sous Android !!! 2025
Avez-vous une montre Android Wear? Si oui, vous l'aimez probablement, et vous avez déjà remarqué qu'il n'a pas de clavier. Sinon, essayez d'en chercher un. J'attendrai.
Si vous êtes un développeur Android Wear, sachez que la plupart des applications sur Android Wear sont généralement en lecture seule. Les applications Android Wear sont utiles pour être averties des choses que vous devez faire, mais si vous voulez faire quelque chose de compliqué, vous allez probablement sortir votre téléphone et le faire plutôt que sur votre montre.
Le contrôle vocal est une exception passionnante à cette règle. Avec la dictée vocale, vous pouvez facilement "taper" des informations dans votre montre sans avoir à utiliser un clavier.
Ici, vous apprendrez comment ajouter de nouveaux éléments à votre base de données en utilisant votre voix.
Trois types de commandes vocales
Android Wear propose trois types de commandes vocales prêtes à l'emploi.
-
Actions vocales fournies par le système, telles que "Prendre note" ou "Appeler un taxi / taxi".
-
Commandes vocales «Démarrer» fournies par l'application, telles que «Démarrer les tâches» ou «Démarrer MyRunningApp»
-
Dictée vocale de forme libre
Les actions vocales fournies par le système sont les plus pratiques pour les utilisateurs. Ils ne nécessitent pas l'utilisateur d'apprendre de nouvelles invites vocales, et ils "fonctionnent" de n'importe où. Si l'une des actions vocales intégrées d'Android est appropriée pour votre application, c'est la meilleure solution.
Les commandes vocales «Démarrer» fournies par l'application constituent un moyen viable mais moins puissant d'ajouter des commandes vocales à votre application. Chaque activité de votre application peut avoir un nom de départ distinct spécifié par le libellé de l'activité. Par exemple, si vous définissez votre libellé d'activité Tâches sur MyTasksApp, l'activité Tâches est lancée lorsque l'utilisateur dit «Démarrer MyTasksApp». Contrairement aux actions vocales fournies par le système, qui reconnaissent les alternatives courantes à l'action vocale, l'utilisateur doit correspondre exactement à l'étiquette. Dire "Start TasksApp" ne démarrera pas votre application, par exemple.
L'option de dictée vocale de forme libre est une option très puissante, mais elle nécessite que l'utilisateur soit déjà dans votre application pour en profiter. Étant donné que le lancement d'une application Android Wear n'est pas toujours évident, cette option est bonne mais moins courante.
Android Wear est fourni avec une action «Prendre note» fournie par le système. Nous allons donc l'utiliser pour ajouter une tâche à notre application.
Configurer le filtre d'intention
Lorsque l'utilisateur dit «Prenez note» sur sa montre Android, le texte qui en résulte est envoyé à votre application via une intention. Pour capturer cette intention, vous devez créer une activité et un filtre d'intention correspondant à l'intention.
Ajoutez une activité TakeVoiceNote au AndroidManifest. xml de votre application Wear, et enregistrez un filtre d'intention pour capturer l'intention SELF_NOTE:
Obtenir le texte de la voix
C'est la chose la plus simple au monde pour obtenir la sortie de l'activité de reconnaissance vocale. Vous avez juste besoin d'ajouter l'activité TakeVoiceNote et récupérer le texte de l'intention, comme ceci:
étend Activity {@Overide protected void onCreate (Bundle savedInstanceState) {super. onCreate (savedInstanceState); String voiceNote = getIntent (). getStringExtra (Intent EXTRA_TEXT);}}
C'est tout! Tout ce que l'utilisateur a dit a été transcrit et placé dans la variable voiceNote.
Maintenant, la partie difficile est de savoir quoi faire avec ce texte.
Ouvrir une connexion à Google Play
Les API d'action vocale sont assez simples, mais pour les utiliser, vous devez configurer les API Google Play Services, ce qui est un peu plus compliqué à utiliser.
Pour ajouter l'API Google Play Services Location à votre projet, placez la dépendance suivante dans votre build. fichier de configuration:
dépendances {compile 'com. Google. Android. gms: play-services-wearable: 6. 5. 87 '}
Ensuite, ajoutez ce qui suit à votre AndroidManifest. xml:
" google android gms version " android: valeur = " @ entier / google_play_services_version " />
Pour établir une connexion aux services Google Play, ajoutez les éléments suivants à votre activité:
// Le client Google API, pour wearable services GoogleApiClient googleApiClient; @Override public void onCreate (Regrouper savedInstanceState) {super. onCreate (savedInstanceState); googleApiClient = nouveau GoogleApiClient. Constructeur (this). addConnectionCallbacks (this). addOnConnectionFailedListener (this). addApi (Wearable. API). construire(); …} @Overide public void onStart () {super. onStart (); googleApiClient. relier(); } @Overide public void onStop () { googleApiClient. déconnecter (); super. onStop ();}
N'oubliez pas que l'identifiant de l'application de votre téléphone et de l'application Wear doit être le même! Si elles sont différentes, la connexion ne sera pas établie.
Ce code crée un nouvel objet GoogleApiClient dans votre onCreate () pour se connecter aux services Google Play, puis il tente de se connecter à votre onStart () et de se déconnecter dans votre onStop (). GoogleApiClient a besoin d'un objet de rappel pour l'informer lorsqu'une connexion a été établie. Vous devrez donc ajouter des rappels à votre activité.
public class TakeVoiceNote extends Activity implémente GoogleApiClient. ConnectionCallbacks, GoogleApiClient. OnConnectionFailedListener { @Override public void onConnected (Bundle connectionHint) { // Connecté à Google Jouez services! // est où vous écris votre nouvelle tâche à < // base de données. } @Override public void onConnectionSuspended (int cause) { // Lecture Google < la connexion a été interrompue. // Désactiver tous les composants UI dépendent sur Google // API onConnected () est appelé. // // Cet exemple doesn ' t besoin de à rien ici. } @Override public void onConnectionFailed (résultat de ConnectionResult) { // Ce callback est < important pour gestion des erreurs // que peut se produire alors que essaie de connecter > avec // Google. // // Pour plus informations environ comment à gérer erreurs, // > voir // // développeur. Android. com / google / auth / api-client. html } } Félicitations! Vous avez maintenant correctement configuré une connexion à Google Play Services qui se déconnecte automatiquement lorsque votre activité est arrêtée. L'étape suivante consiste à demander au téléphone de créer une nouvelle tâche.Demander au téléphone d'ajouter une nouvelle tâche Maintenant que vous avez une connexion à Google Play, l'étape suivante consiste à envoyer le texte vocal à votre téléphone afin que le téléphone puisse ajouter une nouvelle tâche à sa base de données. Mettez à jour la méthode onConnected () de votre activité pour envoyer un message à votre téléphone avec le contenu de la dictée vocale:
public class TakeVoiceNote extends Activity implémente GoogleApiClient. ConnectionCallbacks, GoogleApiClient. OnConnectionFailedListener {// Le chemin (un peu comme un URI) qui identifie l'opération // que vous voulez effectuer sur le combiné.
private static final Chaîne PATH_ADD_TASK ="
/ addTask
"
; … @Override public void onConnected (groupe de paquets) { Log. d (" TakeVoiceNote ", " onConnected " ); // Le texte de reconnaissance vocale est transmis via la chaîne // intention String voiceNote = getIntent (). getStringExtra (Intent, EXTRA_TEXT); // Convertit la chaîne en octets octet final [] voiceNoteBytes = voiceNote. getBytes (Jeu de caractères forName (" utf-8 ")); // Récupère la liste de tous les périphériques ' re auxquels vous êtes connecté. Habituellement, ce sera simplement votre téléphone //. Tout autre appareil ignorera votre message. Portable. NodeApi. getConnectedNodes (googleApiClient) . setResultCallback (new ResultCallback () { @Override public void onResult (nœuds GetConnectedNodesResult) { pour (nœud nœud: nœuds getNodes ()) { // Envoyer au téléphone un message demandant // d'ajouter la tâche à la base de données Wearable: MessageApi. SendMessage (googleApiClient, node.getId (), PATH_ADD_TASK, < voiceNoteBytes); } finish (); } }); } } Créez la nouvelle tâche sur le téléphoneLa seule chose à faire est d'écouter le message sur votre téléphone afin de pouvoir créer une nouvelle tâche lorsque vous en avez besoin. Vous allez le faire avec un WearableListenerService simple. Dans votre application de téléphone, créez une nouvelle classe nommée AddTaskWearableListenerService et ajoutez le code suivant: public class AddTaskWearableListenerService extends WearableListenerService {// Devrait correspondre à la chaîne de TakeVoiceNote private static final Chaîne PATH_ADD_TASK = "/ addTask"; @Override public void onMessageReceived (MessageEvent messageEvent) {if (PATH_ADD_TASK.equals (messageEvent.getPath ())) {// Crée l'objet ContentValues qui stocke tout // des informations de la tâche String title = new String (messageEvent.getData (), Jeu de caractères.forName ("utf-8")); ContentValues values = new ContentValues (); valeurs. put (COLUMN_TITLE, titre); valeurs. put (COLUMN_NOTES, "); values. put (COLUMN_DATE_TIME, System.actuelTimeMillis ()); // Insère la tâche dans la base de données getContentResolver (). insert (CONTENT_URI, valeurs);}}} Vous devez Enregistrez le service dans le fichier AndroidManifest.xml de votre application mobile, ajoutez le code suivant à votre noeud d'application:
Si vous utilisez un émulateur pour votre Appareil Android Wear, vous souhaiterez le connecter à votre téléphone Android.
Une fois que vous êtes prêt, appuyez sur votre appareil Android Wear pour afficher le menu des actions, puis cliquez sur l'option Prendre note. > Si vous utilisez un émulateur de surveillance, saisissez votre réponse
Une fois la note sauvegardée, ouvrez l'application Tâches sur votre téléphone et vous devriez voir le nouvel élément.:
Félicitations, vous avez réussi à dicter une note vocale et l'avez enregistrée dans votre application Tâches.Il existe toutes sortes de choses intéressantes que vous pouvez faire avec les commandes vocales sur les plateformes Android et Android Wear., c heck out les capacités d'ajout de capacités vocales et de réception vocale dans un article de notification sur le site Web du développeur Android. Piratage heureux!
