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

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

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

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
        }
    }
    ...
}

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 রিসোর্স ক্লিন-আপ করুন

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

override fun onDestroy() {
    super.onDestroy()

    tts?.shutdown()
}