使用 Text to Speech 處理音訊眼鏡和螢幕眼鏡的音訊輸出

適用的 XR 裝置
這份指南可協助您為這類 XR 裝置打造體驗。
音訊和螢幕眼鏡

您可以使用文字轉語音 (TTS) 技術與使用者溝通。Android 內建 TTS (不需要額外程式庫),即使離線也能使用。因此 TTS 非常適合處理無顯示模式的錯誤狀況。您可以使用 TextToSpeech 類別參照 TTS 功能。

例項化 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
        }
    }
    ...
}

在 TTS 開始時通知使用者

如果提供無顯示 (僅限音訊) 體驗,請在 onStart 方法中通知使用者,讓他們知道應用程式已順利啟動:

override fun onStart() {
  super.onStart()

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

程式碼重點

中斷 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()
}