अपने उपयोगकर्ताओं से बातचीत करने का एक तरीका, लिखे गए शब्दों को सुनने की सुविधा (टीटीएस) टेक्नोलॉजी का इस्तेमाल करना है. टीटीएस की सुविधा, Android में पहले से मौजूद होती है. इसके लिए, किसी अन्य लाइब्रेरी की ज़रूरत नहीं होती. यह सुविधा ऑफ़लाइन होने पर भी काम करती है. इन सुविधाओं की वजह से, टीटीएस बिना डिसप्ले वाले मोड में गड़बड़ियों को मैनेज करने के लिए सबसे सही है. TextToSpeech क्लास का इस्तेमाल करके, टीटीएस की सुविधाओं को रेफ़र किया जा सकता है.
TextToSpeech को इंस्टैंशिएट करना
हमारा सुझाव है कि आप अपनी प्रोजेक्ट की गई गतिविधि के onCreate तरीके पर, TextToSpeech क्लास को इंस्टैंशिएट करें, ताकि यह 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()
}