लिखे गए शब्दों को सुनने की सुविधा का इस्तेमाल करके, एआई चश्मे के लिए ऑडियो आउटपुट को मैनेज करना

एक्सआर की सुविधा वाले डिवाइस
इस गाइड की मदद से, इन तरह के एक्सआर डिवाइसों के लिए अनुभव बनाए जा सकते हैं.
एआई चश्मा

उपयोगकर्ताओं से बातचीत करने के लिए, लिखे गए शब्दों को सुनने की सुविधा (टीटीएस) का इस्तेमाल किया जा सकता है. टीटीएस की सुविधा, Android में पहले से मौजूद होती है. इसके लिए, किसी अन्य लाइब्रेरी की ज़रूरत नहीं होती. यह सुविधा ऑफ़लाइन होने पर भी काम करती है. इन विशेषताओं की वजह से, टीटीएस को डिसप्लेलेस मोड में गड़बड़ियों को ठीक करने के लिए सबसे सही माना जाता है. TextToSpeech क्लास का इस्तेमाल करके, टीटीएस की सुविधाओं को रेफ़र किया जा सकता है.

TextToSpeech ऑब्जेक्ट बनाना

हमारा सुझाव है कि आप TextToSpeech क्लास को, एआई चश्मे की गतिविधि के onCreate() तरीके पर इंस्टैंटिएट करें, ताकि यह Activity के पूरे जीवनकाल के लिए उपलब्ध रहे:

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)

    tts = TextToSpeech(this) { status ->
        if(status == TextToSpeech.SUCCESS) {
        // Initialization successful
        }else {
            // Initialization failed
        }
    }
    ...
}

टेक्स्ट को आवाज़ में बदलने की सुविधा शुरू होने पर उपयोगकर्ता को सूचना देना

बिना डिसप्ले वाले (सिर्फ़ ऑडियो) डिवाइसों पर, उपयोगकर्ता को यह बताएं कि आपका ऐप्लिकेशन लॉन्च हो गया है. इसके लिए, उन्हें onStart() तरीके से सूचना दें:

override fun onStart() {
  super.onStart()

  tts?.speak("Welcome to Android XR Glasses!",
  TextToSpeech.QUEUE_FLUSH,
  null,
  "welcome_utterance")
  ...
}

कोड के बारे में अहम जानकारी

  • TextToSpeech.QUEUE_FLUSH से पता चलता है कि टेक्स्ट को तुरंत बोला जाना चाहिए और टीटीएस की किसी भी अन्य सुविधा को बीच में रोकना चाहिए.
  • इस मामले में utteranceId यानी "welcome_utterance" का इस्तेमाल यह पता लगाने के लिए किया जाता है कि टेक्स्ट कब खत्म हुआ. ज़्यादा जानकारी के लिए, UtteranceProgressListener देखें.

टीटीएस को रोकना

अगर आपके ऐप्लिकेशन को कभी भी टीटीएस को रोकना पड़े, तो stop() तरीके को कॉल करें:

// This interrupts the current utterance and discards other utterances in the queue.
tts?.stop()
...

टीटीएस के संसाधनों को मिटाना

जब आपकी गतिविधि बंद हो जाती है, तब आपको संसाधनों को साफ़ कर देना चाहिए. इसके लिए, गतिविधि के onDestroy() तरीके में shutdown() तरीके को कॉल करें:

override fun onDestroy() {
    super.onDestroy()

    tts?.shutdown()
}