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

প্রযোজ্য XR ডিভাইস
এই নির্দেশিকা আপনাকে এই ধরণের XR ডিভাইসের অভিজ্ঞতা তৈরি করতে সাহায্য করবে।
এআই চশমা

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

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

আমরা আপনার AI চশমা কার্যকলাপের onCreate() পদ্ধতিতে TextToSpeech ক্লাসটি চালু করার পরামর্শ দিচ্ছি যাতে এটি 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 উচ্চারণে বাধা দেওয়া উচিত।
  • এই ক্ষেত্রে "welcome_utterance" utteranceId ব্যবহার করা হয়, এই লেখাটি কখন বলা শেষ হয়েছে তা শনাক্ত করার জন্য। আরও তথ্যের জন্য, 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()
}