Ogni dispositivo Wear OS è dotato di un microfono che consente agli utenti di interagire con il dispositivo. Puoi suddividerli in tre tipi di interazioni:
- Registra l'audio
- Usa input vocale in formato libero
- Azioni vocali
Registra l'audio
La registrazione di audio su un dispositivo Wear OS funziona come su uno smartphone. Consulta le Documentazione di MediaRecorder per scoprire di più su registrando audio su Android. Puoi anche esaminare un'implementazione di esempio nella Esempio di dispositivo Wear Speaker su GitHub.
Usa input vocale in formato libero
Consente di chiamare l'attività di riconoscimento vocale integrata del sistema per ricevere input vocali dagli utenti. Usa voce input per inviare messaggi o eseguire ricerche.
Nell'app, chiama startActivityForResult()
usando ACTION_RECOGNIZE_SPEECH
un'azione. Viene avviata l'attività di riconoscimento vocale, che potrai quindi gestire
onActivityResult()
.
Il seguente esempio di codice mostra come avviare e gestire un'attività di riconoscimento 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 ) } }
Azioni vocali
Al momento le Azioni vocali e le Azioni app dell'assistente non sono supportate ad eccezione delle app per Wear OS in Cina. Scopri di più su Supporto di Azioni vocali per la Cina.