টেক্সট টু স্পিচ ব্যবহার করে অডিও গ্লাস এবং ডিসপ্লে গ্লাসের জন্য অডিও আউটপুট পরিচালনা করুন।

প্রযোজ্য এক্সআর ডিভাইস
এই নির্দেশিকা আপনাকে এই ধরনের এক্সআর ডিভাইসগুলির জন্য অভিজ্ঞতা তৈরি করতে সাহায্য করে।
অডিও এবং
ডিসপ্লে গ্লাস

আপনার ব্যবহারকারীদের সাথে যোগাযোগ করার একটি উপায় হলো টেক্সট টু স্পিচ (TTS) প্রযুক্তি ব্যবহার করা। TTS অ্যান্ড্রয়েডের মধ্যেই তৈরি করা থাকে (এর জন্য কোনো অতিরিক্ত লাইব্রেরির প্রয়োজন হয় না) এবং এটি অফলাইনেও কাজ করে। এই বৈশিষ্ট্যগুলোর কারণে ডিসপ্লেবিহীন মোডে ত্রুটি সামলানোর জন্য TTS একটি আদর্শ সমাধান। আপনি TextToSpeech ক্লাস ব্যবহার করে TTS-এর ফিচারগুলো উল্লেখ করতে পারেন।

টেক্সটটুস্পিচ ইনস্ট্যানশিয়েট করুন

আমরা সুপারিশ করি যে আপনি আপনার প্রজেক্টেড অ্যাক্টিভিটির 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 নির্দেশ করে যে লেখাটি অবিলম্বে বলা হবে এবং অন্য যেকোনো TTS উচ্চারণ বাধাগ্রস্ত হবে।
  • এই ক্ষেত্রে "welcome_utterance" - এই utteranceId ব্যবহার করা হয় কখন এই লেখাটি বলা শেষ হয়েছে তা শনাক্ত করার জন্য। আরও তথ্যের জন্য, UtteranceProgressListener দেখুন।

টিটিএস বাধা দিন

যদি আপনার অ্যাপের কখনো TTS বন্ধ করার প্রয়োজন হয়, তাহলে stop মেথডটি কল করুন:

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

টিটিএস রিসোর্স পরিষ্কার করুন

আপনার অ্যাক্টিভিটি ধ্বংস হয়ে গেলে, অ্যাক্টিভিটির onDestroy মেথডের মধ্যে shutdown মেথডটি কল করে রিসোর্সগুলো পরিষ্কার করা উচিত:

override fun onDestroy() {
    super.onDestroy()

    tts?.shutdown()
}