วิธีหนึ่งที่คุณใช้สื่อสารกับผู้ใช้ได้คือการใช้เทคโนโลยีการอ่านออกเสียงข้อความ (TTS) TTS มีอยู่ใน Android (ไม่จำเป็นต้องใช้ไลบรารีเพิ่มเติม) และทำงานได้แม้ในขณะออฟไลน์ ลักษณะเหล่านี้ทำให้ TTS เหมาะสม
สำหรับการจัดการเงื่อนไขข้อผิดพลาดในโหมดที่ไม่มีการแสดงผล คุณอ้างอิงฟีเจอร์ TTS
ได้โดยใช้คลาส TextToSpeech
สร้างอินสแตนซ์ TextToSpeech
เราขอแนะนำให้สร้างอินสแตนซ์ของคลาส TextToSpeech ในเมธอด onCreate() ของกิจกรรมแว่นตา AI เพื่อให้พร้อมใช้งานตลอดอายุการใช้งานของ Activity
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
tts = TextToSpeech(this) { status ->
if(status == TextToSpeech.SUCCESS) {
// Initialization successful
}else {
// Initialization failed
}
}
...
}
แจ้งเตือนผู้ใช้เมื่อ TTS เริ่มทำงาน
สำหรับประสบการณ์การใช้งานแบบไม่มีจอแสดงผล (เสียงเท่านั้น) ให้แจ้งให้ผู้ใช้ทราบว่าแอปของคุณเปิดตัวสำเร็จแล้วโดยการแจ้งเตือนผู้ใช้ด้วยวิธี onStart() ดังนี้
override fun onStart() {
super.onStart()
tts?.speak("Welcome to Android XR Glasses!",
TextToSpeech.QUEUE_FLUSH,
null,
"welcome_utterance")
...
}
ประเด็นสำคัญเกี่ยวกับโค้ด
TextToSpeech.QUEUE_FLUSHหมายความว่าควรอ่านออกเสียงข้อความ ทันทีและควรหยุดการอ่านออกเสียงข้อความ TTS อื่นๆutteranceIdในกรณีนี้คือ"welcome_utterance"ใช้เพื่อระบุ เมื่อข้อความนี้พูดจบ ดูข้อมูลเพิ่มเติมได้ที่UtteranceProgressListener
ขัดจังหวะ TTS
หากแอปต้องขัดจังหวะ TTS ให้เรียกใช้เมธอด stop()
// This interrupts the current utterance and discards other utterances in the queue.
tts?.stop()
...
ล้างข้อมูลทรัพยากร TTS
คุณควรล้างข้อมูลทรัพยากรเมื่อกิจกรรมถูกทำลายโดยการเรียกใช้เมธอด shutdown() ภายในเมธอด onDestroy() ของกิจกรรม
override fun onDestroy() {
super.onDestroy()
tts?.shutdown()
}