總覽

廣播無線電堆疊是由圖 1 所示的元件組成。

廣播電台架構
圖 1. 廣播電台架構

電台參考應用程式

如要進一步瞭解如何實作無線電控制項,請參閱 無線電控制實作

Java 無線電應用程式範例 (packages/apps/Car/Radio) 可做為參考 。應用程式服務啟動後,系統會要求 Radio Manager 開啟 Radio Tuner。接著: 應用程式就能將要求傳送給 Radio Tuner,例如調整至特定電台、頻率 或跳轉下一個可用的電台應用程式會接收來自 Radio Manager 的更新 電台中的電台調音器,例如最新節目資訊、電台節目清單、設定 供應商定義的參數參考電台應用程式僅支援 AM 和 FM 電台。原始設備製造商 (OEM) 可修改或 視需要更換「Radio」應用程式。

電台管理員

應用程式要求 Radio Manager 開啟調音器時,電台管理員 (frameworks/base/core/java/android/hardware/radio/RadioManager.java) 會要求 廣播電台服務 (BRS),目的是開啟調諧器工作階段,再將該工作階段納入無線電調諧器 (frameworks/base/core/java/android/hardware/radio/RadioTuner.java),系統會傳回 加入 App Engine 應用程式 Radio Tuner 定義可從無線電應用程式呼叫的 API (例如調整、步驟和取消) 並向 BRS 傳送要求電台中定義的回呼方法 (RadioTuner.Callback) 調諧器會傳送廣播電台 HAL 的相關更新,例如目前的節目資訊、節目 列出和供應商定義的參數

廣播電台服務

廣播電台服務 (frameworks/base/services/core/java/com/android/server/broadcastradio) 是用戶端 提供廣播電台 HAL 服務BRS 透過廣播電台協調多個無線電管理員 HAL。BRS 支援 HAL 介面定義語言 (HIDL)Android 介面定義語言 (AIDL) 廣播 無線電 HAL如有任何 AIDL HAL 服務存在,BRS 會連結至 AIDL HAL; 否則服務會連結至 HIDL HAL。BRS 會建立無線電模組 ,例如 AM、FM 和 DAB。

每個電台管理員都可以要求 BRS 在 上建立調音器工作階段 相應的電台模組。每個調諧器工作階段都能呼叫方法, 調整、步驟及取消 (HAL 介面定義),以便對 兩個相應的廣播電台 HAL 執行個體一個調諧器工作階段收到來自 HAL 的回呼時 例如目前的程式資訊、節目清單、設定旗標,以及 供應商參數、更新相關回呼,會傳送至所有與 無線電模組。

廣播電台 HAL

如要進一步瞭解廣播電台的 HIDL 與 AIDL 介面,以及兩者之間的差異 請參閱 廣播電台 HAL 介面