Ses girişi

Her Wear OS cihazın bir mikrofonu vardır. Böylece kullanıcılar olanak tanır. Bunları üç etkileşim türüne ayırabilirsiniz:

  • Ses kaydetme
  • Serbest biçimli konuşma girişi alma
  • Sesli İşlemler

Ses kaydetme

Wear OS cihazda ses kaydetme, telefondakiyle aynı şekilde çalışır. Daha fazla bilgi için MediaRecorder belgeleri hakkında daha fazla bilgi ses kaydetme özelliği var. Ayrıca, Wear Hoparlör örneği bulabilirsiniz.

Serbest biçimli konuşma girişi alma

Kullanıcılardan konuşma girişi almak için sistemin yerleşik Konuşma Tanıyıcı etkinliğini çağırın. Konuşmayı kullan veya arama yapmak için bir giriş noktası kullanabilirsiniz.

Uygulamanızda startActivityForResult() adlı kişiyi arayın ACTION_RECOGNIZE_SPEECH kullanarak eyleme dökülebilir. Bu, konuşma tanıma etkinliğini başlatır ve sonrasında sonuçları istediğiniz zaman onActivityResult()

Aşağıdaki kod örneğinde, bir konuşma tanıma etkinliğinin nasıl başlatılacağı ve işleneceği gösterilmektedir.

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
        )
    }
}

Sesli İşlem

Sesli İşlemler ve Asistan Uygulama İşlemleri, şu anda aşağıdaki Android uygulamaları dışındaki Wear OS uygulamaları için desteklenmemektedir: Çin. Daha fazla bilgi: Sesli İşlemler desteği bakın.