Saisie vocale
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Chaque appareil Wear OS est doté d'un micro pour permettre aux utilisateurs d'interagir avec l'appareil par commande vocale. Il existe trois types d'interactions :
- Enregistrer des fichiers audio
- Obtenir la saisie vocale au format libre
- Commandes vocales
Enregistrer des fichiers audio
L'enregistrement audio fonctionne sur un appareil Wear OS de la même manière que sur un téléphone. Reportez-vous à la documentation sur MediaRecorder pour en savoir plus sur l'enregistrement audio sur Android. Vous pouvez également consulter un exemple d'implémentation dans l'exemple Wear Speaker sur GitHub.
Appelez l'activité de reconnaissance vocale intégrée au système pour mettre en place la saisie vocale pour les utilisateurs. Utilisez la saisie vocale pour envoyer des messages ou effectuer des recherches.
Dans votre application, appelez startActivityForResult()
à l'aide de l'action ACTION_RECOGNIZE_SPEECH
. Cela démarre l'activité de reconnaissance vocale. Vous pouvez ensuite gérer le résultat dans onActivityResult()
.
L'exemple de code suivant montre comment démarrer et gérer une activité de reconnaissance vocale.
var textForVoiceInput by remember { mutableStateOf("") }
val voiceLauncher =
rememberLauncherForActivityResult(
ActivityResultContracts.StartActivityForResult()
) { activityResult ->
// This is where you process the intent and extract the speech text from the intent.
activityResult.data?.let { data ->
val results = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS)
textForVoiceInput = results?.get(0) ?: "None"
}
}
val scrollState = rememberScrollState()
ScreenScaffold(scrollState = scrollState) {
// rest of implementation here
// ...
Column(
// rest of implementation here
// ...
// Create an intent that can start the Speech Recognizer activity
val voiceIntent: Intent = Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH).apply {
putExtra(
RecognizerIntent.EXTRA_LANGUAGE_MODEL,
RecognizerIntent.LANGUAGE_MODEL_FREE_FORM
)
putExtra(
RecognizerIntent.EXTRA_PROMPT,
stringResource(R.string.voice_text_entry_label)
)
}
// Invoke the process from a chip
Chip(
onClick = {
voiceLauncher.launch(voiceIntent)
},
label = stringResource(R.string.voice_input_label),
secondaryLabel = textForVoiceInput
)
}
}
Commandes vocales
Les commandes vocales et les actions dans l'application d'assistance ne sont pas compatibles pour le moment, sauf pour les applications Wear OS en Chine. En savoir plus sur la compatibilité des commandes vocales pour la Chine
Le contenu et les exemples de code de cette page sont soumis aux licences décrites dans la Licence de contenu. Java et OpenJDK sont des marques ou des marques déposées d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/02 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/09/02 (UTC)."],[],[],null,["Every Wear OS device comes with a microphone, so users can use their voice to interact with the\ndevice. You can divide these into three types of interactions:\n\n- Record audio\n- Get free-form speech input\n- Voice actions\n\nRecord audio\n\n\nRecording audio on a Wear OS device works the same way as it would on a phone. Refer to the\n[MediaRecorder documentation](/guide/topics/media/mediarecorder) to learn more about\nrecording audio on Android. You can also look at a sample implementation in the\n[Wear Speaker sample](https://github.com/android/wear-os-samples/tree/main/WearSpeakerSample)\non Github.\n\nGet free-form speech input\n\n\nCall the system's built-in Speech Recognizer activity to get speech input from users. Use speech\ninput to send messages or perform searches.\n\n\nIn your app, call [startActivityForResult()](/reference/android/app/Activity#startActivityForResult(android.content.Intent, int))\nusing the [ACTION_RECOGNIZE_SPEECH](/reference/android/speech/RecognizerIntent#ACTION_RECOGNIZE_SPEECH)\naction. This starts the speech recognition activity, and you can then handle the result in\n[onActivityResult()](/reference/android/app/Activity#onActivityResult(int, int, android.content.Intent)).\n\n\nThe following code sample shows how to start and handle a speech recognition activity. \n\n```kotlin\nvar textForVoiceInput by remember { mutableStateOf(\"\") }\n\nval voiceLauncher =\n rememberLauncherForActivityResult(\n ActivityResultContracts.StartActivityForResult()\n ) { activityResult -\u003e\n // This is where you process the intent and extract the speech text from the intent.\n activityResult.data?.let { data -\u003e\n val results = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS)\n textForVoiceInput = results?.get(0) ?: \"None\"\n }\n }\n\nval scrollState = rememberScrollState()\n\nScreenScaffold(scrollState = scrollState) {\n // rest of implementation here\n // ...\n Column(\n // rest of implementation here\n // ...\n\n // Create an intent that can start the Speech Recognizer activity\n val voiceIntent: Intent = Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH).apply {\n putExtra(\n RecognizerIntent.EXTRA_LANGUAGE_MODEL,\n RecognizerIntent.LANGUAGE_MODEL_FREE_FORM\n )\n\n putExtra(\n RecognizerIntent.EXTRA_PROMPT,\n stringResource(R.string.voice_text_entry_label)\n )\n }\n // Invoke the process from a chip\n Chip(\n onClick = {\n voiceLauncher.launch(voiceIntent)\n },\n label = stringResource(R.string.voice_input_label),\n secondaryLabel = textForVoiceInput\n )\n }\n}https://github.com/android/snippets/blob/e4396f6dd13aaa8099c4baa671cdd549a10f201c/wear/src/main/java/com/example/wear/snippets/voiceinput/VoiceInputScreen.kt#L73-L133\n```\n\nVoice Actions\n\nVoice Actions and Assistant App Actions aren't supported at this time except for Wear OS apps in\nChina. Read more about\n[Voice Actions support\nfor China](/training/wearables/apps/creating-app-china#voice-actions-support)."]]