איך משתמשים בהמרת טקסט לדיבור (TTS) כדי לטפל בפלט אודיו במשקפי AI

מכשירי XR רלוונטיים
ההנחיות האלה יעזרו לכם ליצור חוויות למכשירי XR מהסוגים האלה.
משקפי AI

אחת הדרכים לתקשר עם המשתמשים היא באמצעות טכנולוגיית המרת טקסט לדיבור (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()
}