الإدخال الصوتي

يتم تزويد كل جهاز Wear OS بميكروفون، ما يتيح للمستخدمين استخدام أصواتهم للتفاعل مع الخاص بك. يمكنك تقسيم هذه التفاعلات إلى ثلاثة أنواع من التفاعلات:

  • تسجيل الصوت
  • الحصول على إدخال الكلام الحر
  • الإجراءات الصوتية

تسجيل الصوت

إنّ تسجيل الصوت على جهاز Wear OS يعمل بالطريقة نفسها التي يتم بها تسجيل الصوت على الهاتف. ارجع إلى مستندات MediaRecorder لمزيد من المعلومات حول تسجيل الصوت على Android. يمكنك أيضًا الاطّلاع على نموذج تنفيذ في نموذج لمكبّر صوت Wear على جيت هب.

الحصول على إدخال الكلام الحر

للحصول على إدخال الكلام من المستخدمين، يمكنك الاتصال بنشاط "أداة التعرّف على الكلام" المضمَّن في النظام. استخدام الكلام لإدخالها لإرسال الرسائل أو إجراء عمليات بحث.

في تطبيقك، يمكنك الاتصال بالرقم 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
        )
    }
}

الإجراءات الصوتية

إنّ ميزة "الإجراءات الصوتية" و"المهام في تطبيقات مساعد Google" غير متاحة في الوقت الحالي باستثناء تطبيقات Wear OS في الصين. مزيد من المعلومات عن إتاحة "الإجراءات الصوتية" في الصين