Metin okuma özelliğini kullanarak sesli gözlükler ve ekranlı gözlükler için ses çıkışını yönetme

Uygun XR cihazlar
Bu kılavuz, bu tür XR cihazlar için deneyimler oluşturmanıza yardımcı olur.
Ses ve
Ekran Gözlükleri

Kullanıcılarınızla iletişim kurmanın yollarından biri, metin okuma (TTS) teknolojisini kullanmaktır. TTS, Android'e yerleştirilmiştir (ek kitaplık gerektirmez) ve çevrimdışı olarak da çalışır. Bu özellikler, TTS'yi ekransız modda hata koşullarını işlemek için ideal hale getirir. TextToSpeech sınıfını kullanarak TTS özelliklerine referans verebilirsiniz.

Instantiate TextToSpeech

Projected activity'nin onCreate yönteminde TextToSpeech sınıfını oluşturmanızı öneririz. Böylece, Activity süresince kullanılabilir:

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

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

TTS başladığında kullanıcıyı bilgilendirme

Ekransız (yalnızca ses) deneyimlerde, kullanıcıyı onStart yöntemiyle bilgilendirerek uygulamanızın başarıyla başlatıldığını bildirin:

override fun onStart() {
  super.onStart()

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

Kodla ilgili önemli noktalar

  • TextToSpeech.QUEUE_FLUSH, metnin hemen okunması ve diğer tüm TTS ifadelerinin kesilmesi gerektiğini gösterir.
  • Bu durumda utteranceId, "welcome_utterance", bu metnin ne zaman okunmasının tamamlandığını belirlemek için kullanılır. Daha fazla bilgi için UtteranceProgressListener sayfasına bakın.

TTS'yi kesme

Uygulamanızın TTS'yi kesmesi gerektiğinde stop yöntemini çağırın:

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

TTS kaynaklarını temizleme

Etkinliğiniz yok edildiğinde, etkinliğin onDestroy yöntemi içindeki shutdown yöntemini çağırarak kaynakları temizlemeniz gerekir:

override fun onDestroy() {
    super.onDestroy()

    tts?.shutdown()
}