Mọi thiết bị Wear OS đều có micrô nên người dùng có thể tương tác với thiết bị qua giọng nói. Bạn có thể chia các tương tác này thành ba loại:
- Ghi âm
- Nhận dữ liệu nhập bằng lời nói tuỳ ý
- Thao tác bằng giọng nói
Ghi âm
Tính năng ghi âm trên thiết bị Wear OS hoạt động giống như trên điện thoại. Hãy tham khảo tài liệu MediaRecorder để tìm hiểu thêm về cách ghi âm trên Android. Bạn cũng có thể xem ví dụ về cách triển khai trong ví dụ về Wear Speaker trên GitHub.
Nhận dữ liệu nhập bằng lời nói tuỳ ý
Gọi hoạt động Nhận dạng lời nói tích hợp của hệ thống để nhận dữ liệu nhập bằng lời nói từ người dùng. Sử dụng tính năng nhập liệu bằng lời nói để gửi tin nhắn hoặc thực hiện thao tác tìm kiếm.
Trong ứng dụng của bạn, hãy gọi startActivityForResult()
bằng thao tác ACTION_RECOGNIZE_SPEECH
. Thao tác này sẽ bắt đầu hoạt động nhận dạng lời nói, sau đó bạn có thể xử lý kết quả trong onActivityResult()
.
Mã mẫu sau đây cho biết cách bắt đầu và xử lý một hoạt động nhận dạng lời nói.
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 ) } }
Thao tác bằng giọng nói
Tính năng Thao tác bằng giọng nói và Hành động trong ứng dụng của Trợ lý hiện không được hỗ trợ, ngoại trừ các ứng dụng Wear OS ở Trung Quốc. Vui lòng đọc thêm về việc hỗ trợ tính năng Thao tác bằng giọng nói đối với thiết bị dành cho Trung Quốc.