การป้อนข้อมูลด้วยเสียง

อุปกรณ์ Wear OS ทุกเครื่องมาพร้อมกับไมโครโฟน ผู้ใช้จึงใช้เสียงเพื่อโต้ตอบกับ อุปกรณ์ คุณสามารถแบ่งการโต้ตอบเหล่านี้ได้ 3 ประเภท ดังนี้

  • บันทึกเสียง
  • รับการป้อนข้อมูลด้วยเสียงพูดในรูปแบบอิสระ
  • การสั่งงานด้วยเสียง

บันทึกเสียง

การบันทึกเสียงในอุปกรณ์ 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 ใน จีน อ่านเพิ่มเติมเกี่ยวกับ การสนับสนุนการสั่งงานด้วยเสียง สำหรับประเทศจีน