קלט קולי

כל מכשיר Wear OS מגיע עם מיקרופון, כדי שהמשתמשים יוכלו להשתמש בקול שלהם כדי לבצע פעולות במכשיר. אפשר לחלק את האינטראקציות האלה לשלושה סוגים:

  • הקלטת אודיו
  • קבלת קלט דיבור בפריסה גמישה
  • פעולות קוליות

הקלטת אודיו

הקלטת אודיו במכשיר Wear OS פועלת בדיוק כמו בטלפון. עיינו ב מסמכי התיעוד של MediaRecorder לקבלת מידע נוסף על הקלטת אודיו ב-Android. אפשר גם לעיין בהטמעה לדוגמה דוגמת רמקולים של Wear ב-GitHub.

קבלת קלט דיבור בפריסה גמישה

להתקשר לפעילות של מזהה הדיבור המובנה במערכת כדי לקבל קלט דיבור מהמשתמשים. שימוש בדיבור קלט כדי לשלוח הודעות או לבצע חיפושים.

באפליקציה, צריך להתקשר אל startActivityForResult() באמצעות ACTION_RECOGNIZE_SPEECH פעולה. פעולה זו תתחיל את פעילות זיהוי הדיבור, ולאחר מכן תוכל לטפל בתוצאה 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
        )
    }
}

פעולות קוליות

נכון לעכשיו אין תמיכה בפעולות קוליות ובפעולות באפליקציה של Assistant, למעט אפליקציות ל-Wear OS ב- סין. מידע נוסף על תמיכה בפעולות קוליות לסין.