Übersicht

Der Rundfunk-Stack besteht aus den in Abbildung 1 dargestellten Komponenten.

Architektur von Rundfunkschnittstellen
Abbildung 1: Architektur von Rundfunkschnittstellen.

Radioreferenz-App

Details zur Implementierung der Funksteuerung finden Sie unter Implementierung von Funksteuerungen.

Eine Java-Radio-Beispielanwendung (packages/apps/Car/Radio) dient als Referenz Implementierung. Wenn der App-Dienst gestartet wird, fordert er Radio Manager auf, einen Radio Tuner zu öffnen. Gehen Sie dann so vor: kann die App Anfragen an den Radio Tuner senden, z. B. um einen bestimmten Radiosender, eine bestimmte Frequenz, oder zum nächsten verfügbaren Radiosender springen. Die App erhält Updates vom Radio Manager und Radio-Tuner im Radio, z. B. aktuelle Programminformationen, Radioprogrammlisten, Konfigurationen und anbieterdefinierten Parameter. Die Referenz-Radio-App unterstützt nur AM- und FM-Radio. OEMs können können Sie die Radio-App wie gewünscht ersetzen.

Radiomanager

Wenn die App Radio Manager anfordert, einen Tuner zu öffnen, (frameworks/base/core/java/android/hardware/radio/RadioManager.java) fordert die Broadcast Radio Service (BRS), um eine Tuner-Sitzung zu öffnen und die Sitzung dann in einem Radio-Tuner abzuschließen (frameworks/base/core/java/android/hardware/radio/RadioTuner.java), die zurückgegeben wird, in der App. Der Radio Tuner definiert APIs (z. B. Feinabstimmung, Abstufung und Abbrechen), die über Radio-Apps aufgerufen werden können. und Anfragen an BRS senden. In Radio definierte Callback-Methoden (RadioTuner.Callback) Der Tuner sendet aktuelle Informationen zum Rundfunkradio HAL, z. B. aktuelle Programminformationen und das Programm. und anbieterdefinierten Parametern, von der BRS bis hin zu den Apps.

Rundfunkdienst

Broadcast Radio Service (frameworks/base/services/core/java/com/android/server/broadcastradio) ist der Kunde Dienst für Broadcast Radio HAL. Die BRS koordiniert mehrere Radiomanager mit Broadcast Radio HALs. Der BRS unterstützt HAL Interface Definition Language (HIDL) und AIDL (Android Interface Definition Language) Radio-HALs. Das BRS ist mit AIDL HAL verknüpft, wenn ein AIDL HAL-Dienst vorhanden ist. Andernfalls stellt der Dienst eine Verknüpfung zum HIDL HAL her. Die BRS erstellt ein Funkmodul für jede verfügbare HAL-Instanz (z. B. AM, FM und DAB).

Jeder Radio Manager kann den BRS auffordern, eine Tuner-Sitzung auf der auf das entsprechende Funkmodul ausgerichtet. Jede Tuner-Sitzung kann Methoden aufrufen, z. B. als Abstimmung, Schritt und Abbrechen (definiert in HAL-Schnittstellen), um Operationen auf der entsprechende HAL-Instanz des Broadcast-Radios. Wenn eine Tuner-Sitzung einen Callback vom HAL empfängt Instanz bei einem HAL-Update wie aktuelle Programminformationen, Programmliste, Konfigurations-Flags und Anbieterparametern werden Callbacks zur Aktualisierung an alle Radio Tuner gesendet, die mit demselben Funkmodul.

Radio – HAL

Um mehr über die HIDL- und AIDL-Schnittstellen von Radiosendern und die Unterschiede zwischen die beiden, siehe HAL-Schnittstelle für Funkschnittstellen.