實現實時文本

本頁面介紹瞭如何在 Android 9 中實現實時文本 (RTT)。RTT 是一項針對聾人或聽力障礙用戶的功能,它取代了文本電話 (TTY) 技術。借助此功能,設備可以使用相同的電話號碼進行語音和 RTT 呼叫,在逐個字符的基礎上同時傳輸文本,支持 911 通信,並提供 TTY 向後功能。

在 RTT 呼叫中,呼叫者和接收者都有指示他們正在 RTT 呼叫中。連接後,雙方都會進入激活文本輸入和鍵盤的 RTT 呼叫。鍵入時,文本會出現並在鍵入時逐個字符地發送。

示例和來源

AOSP 中的Call.RttCallConnection.RttTextStream提供了框架組件。 IMS/調製解調器組件是專有的,應該由 IMS/調製解調器供應商提供。撥號器 RTT 參考實現也可用。

RTT 的 AOSP 撥號程序代碼:

執行

要實現 RTT,您應該使用調製解調器/SoC 提供商,因為需要支持 RTT 的調製解調器。您可以升級到 Android 9 或將電話框架補丁列表反向移植到 Android 8.0。 Android 8.0 AOSP 中添加的 API 將不起作用。

此功能在android.telecom的 AOSP 和android.telephony.ims的 @SystemApis 中使用公共 API。所有 UI 都位於com.android.phone和 AOSP 撥號器中。

要實現 RTT,請導入 AOSP 代碼並提供實現 IMS 端 @SystemApis for RTT 的 IMS 堆棧。這需要:

  • 通過ImsConfig#setProvisionedValue(RTT_SETTING_ENABLED)打開/關閉 RTT
  • 通過ImsStreamMediaProfile#mRttMode指示呼叫的 RTT 狀態
  • ImsCallSession中支持以下方法:

    • sendRttMessage
    • sendRttModifyRequest
    • sendRttModifyResponse
  • 支持在ImsCallSessionListener中調用以下方法:

    • callSessionRttModifyRequestReceived
    • callSessionRttModifyResponseReceived
    • callSessionRttMessageReceived

定制

您可以在packages/services/Telephony的設備配置覆蓋中使用設備配置config_support_rtt以及在運營商配置文件中使用運營商配置標誌CarrierConfigManager.RTT_SUPPORTED_BOOL來啟用或禁用此功能。根據配置,該功能可以通過輔助功能設置使用,也可以不使用。使用設備配置更改默認設置。默認情況下,該功能設置為關閉。

驗證

要驗證 RTT 的實現,請運行 CTS 測試並執行撥號器 RTT 測試。

CTS 測試

CTS 測試 ( android.cts.telecom.RttOperationsTest ) 涵蓋了實現的 AOSP 部分。您必須為實現的 IMS 堆棧部分提供您自己的測試。

撥號器 RTT 測試

場景描述用戶界面模擬

如果設備上禁用了 RTT,則會顯示有關 RTT 的橫幅。將顯示一個“了解更多”選項,該選項指向 Google 幫助中心文章頁面,其中包含有關 RTT 的更多信息。

顯示橫幅呼叫。

RTT 橫幅

在撥號器設置中,“實時文本”屏幕位於“設置”>“輔助功能”下,提供啟用“RTT 模式”的選項。顯示描述性文本以解釋該模式:“在通話期間發送和接收文本消息,而不是說和聽”。

RTT 可訪問性

默認啟用 RTT 時,
  • 撥打電話時,會顯示標準的通話中撥號 UI。
  • 通話連接後,將顯示 RTT 模式視圖。如果接收用戶未默認進入 RTT 模式,則在等待響應時顯示指示已請求 RTT 模式的橫幅。

RTT 通話界面

如果設備上禁用了 RTT:
  • 來電屏幕顯示標準應答冰球和標準呼叫標籤。

RTT標准通話界面

如果設備上啟用了 RTT,並且默認設置為以 RTT 應答所有呼叫:
  • 來電屏幕顯示 RTT 冰球和相關的呼叫標籤。
  • 接聽電話會加載啟用鍵盤的 RTT 模式視圖。

RTT模式視圖

在 RTT 的通話界面中,提供了選項以允許用戶控制語音通話的狀態並獲得有關使用 RTT 的一般幫助。
  • 打開和關閉麥克風。
  • 打開和關閉揚聲器。
  • 將音頻路由到外部音頻設備(如果有)。

RTT 通話界面選項

在“通話詳細信息”屏幕中,顯示了 RTT 對話歷史記錄的片段。
  • 片段長度不超過一行。如果 RTT 會話不包含任何對話內容,則會顯示一條通知,指示未存儲任何內容。
  • 片段包括 RTT 圖標以指示 RTT 呼叫。
  • 選擇“查看全部”鏈接會顯示完整的對話視圖,其中包含 RTT 會話的全文。顯示時間戳。用戶可以使用返回按鈕返回呼叫詳細信息屏幕。

RTT 通話詳情