ورودی صدا
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
هر دستگاه Wear OS دارای یک میکروفون است، بنابراین کاربران می توانند از صدای خود برای تعامل با دستگاه استفاده کنند. شما می توانید این موارد را به سه نوع تعامل تقسیم کنید:
- ضبط صدا
- ورودی گفتار آزاد را دریافت کنید
- کنش های صوتی
ضبط صدا
ضبط صدا در دستگاه Wear OS به همان روشی که در تلفن انجام می شود کار می کند. برای کسب اطلاعات بیشتر در مورد ضبط صدا در اندروید به مستندات MediaRecorder مراجعه کنید. همچنین می توانید به یک نمونه پیاده سازی در نمونه Wear Speaker در Github نگاه کنید.
برای دریافت ورودی گفتار از کاربران، با فعالیت تشخیص گفتار داخلی سیستم تماس بگیرید. از ورودی گفتار برای ارسال پیام یا انجام جستجو استفاده کنید.
در برنامه خود، با استفاده از عملکرد ACTION_RECOGNIZE_SPEECH
startActivityForResult()
فراخوانی کنید. با این کار فعالیت تشخیص گفتار شروع می شود و سپس می توانید نتیجه را در onActivityResult()
مدیریت کنید.
نمونه کد زیر نحوه شروع و مدیریت یک فعالیت تشخیص گفتار را نشان می دهد.
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
)
}
}
اقدامات صوتی
اقدامات صوتی و عملکردهای برنامه دستیار در حال حاضر به جز برنامههای Wear OS در چین پشتیبانی نمیشوند. درباره پشتیبانی Voice Actions برای چین بیشتر بخوانید.
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2025-09-02 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","easyToUnderstand","thumb-up"],["مشکلم را برطرف کرد","solvedMyProblem","thumb-up"],["غیره","otherUp","thumb-up"]],[["اطلاعاتی که نیاز دارم وجود ندارد","missingTheInformationINeed","thumb-down"],["بیشازحد پیچیده/ مراحل بسیار زیاد","tooComplicatedTooManySteps","thumb-down"],["قدیمی","outOfDate","thumb-down"],["مشکل ترجمه","translationIssue","thumb-down"],["مشکل کد / نمونهها","samplesCodeIssue","thumb-down"],["غیره","otherDown","thumb-down"]],["تاریخ آخرین بهروزرسانی 2025-09-02 بهوقت ساعت هماهنگ جهانی."],[],[],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)."]]