Setiap perangkat Wear OS dilengkapi dengan mikrofon sehingga pengguna dapat menggunakan suaranya untuk berinteraksi dengan perangkat. Anda dapat membagi interaksi ini menjadi tiga jenis:
- Merekam audio
- Mendapatkan input ucapan bentuk bebas
- Voice actions
Merekam audio
Perekaman audio di perangkat Wear OS berfungsi dengan cara yang sama seperti di ponsel. Lihat Dokumentasi MediaRecorder untuk mempelajari lebih lanjut cara merekam audio di Android. Anda juga dapat melihat contoh implementasi di Contoh Speaker Wear di GitHub.
Mendapatkan input ucapan bentuk bebas
Panggil aktivitas Pengenal Ucapan bawaan sistem untuk mendapatkan input ucapan dari pengguna. Gunakan input ucapan untuk mengirim pesan atau melakukan penelusuran.
Di aplikasi Anda, panggil startActivityForResult()
menggunakan tindakan
ACTION_RECOGNIZE_SPEECH
. Tindakan ini akan memulai aktivitas pengenalan suara, dan Anda dapat menangani hasilnya di
onActivityResult()
.
Contoh kode berikut menunjukkan cara memulai dan menangani aktivitas pengenalan ucapan.
Kotlin
private const val SPEECH_REQUEST_CODE = 0 ... // Create an intent that can start the Speech Recognizer activity private fun displaySpeechRecognizer() { val intent = Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH).apply { putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM) } // This starts the activity and populates the intent with the speech text. startActivityForResult(intent, SPEECH_REQUEST_CODE) } // This callback is invoked when the Speech Recognizer returns. // This is where you process the intent and extract the speech text from the intent. override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent) { if (requestCode == SPEECH_REQUEST_CODE && resultCode == Activity.RESULT_OK) { val spokenText: String? = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS).let { results -> results[0] } // Do something with spokenText. } super.onActivityResult(requestCode, resultCode, data) }
Java
private static final int SPEECH_REQUEST_CODE = 0; // Create an intent that can start the Speech Recognizer activity private void displaySpeechRecognizer() { Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); // This starts the activity and populates the intent with the speech text. startActivityForResult(intent, SPEECH_REQUEST_CODE); } // This callback is invoked when the Speech Recognizer returns. // This is where you process the intent and extract the speech text from the intent. @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == SPEECH_REQUEST_CODE && resultCode == RESULT_OK) { List<String> results = data.getStringArrayListExtra( RecognizerIntent.EXTRA_RESULTS); String spokenText = results.get(0); // Do something with spokenText. } super.onActivityResult(requestCode, resultCode, data); }
Voice Actions
Untuk saat ini, Voice Actions dan Action Aplikasi Bantuan tidak didukung kecuali untuk aplikasi Wear OS di Tiongkok. Baca dukungan Voice Actions untuk Tiongkok selengkapnya.