27 Mart 2025'ten itibaren AOSP'yi derlemek ve AOSP'ye katkıda bulunmak için aosp-main yerine android-latest-release kullanmanızı öneririz. Daha fazla bilgi için AOSP'de yapılan değişiklikler başlıklı makaleyi inceleyin.
Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
Yayın radyosu yığını, Şekil 1'de gösterilen bileşenlerden oluşur.
Şekil 1. Radyo yayını mimarisi.
Radyo referans uygulaması
Radyo kontrolünün nasıl uygulanacağı hakkında ayrıntılı bilgi için Radyo kontrolünü uygulama başlıklı makaleyi inceleyin.
Referans uygulama olarak örnek bir Java radyo uygulaması (packages/apps/Car/Radio) kullanılmaktadır. Uygulama hizmeti başladığında Radyo Yöneticisi'nden bir radyo tuner açmasını ister. Ardından uygulama, radyo alıcısına belirli bir radyo istasyonuna, frekansa veya sonraki kullanılabilir radyo istasyonuna ayarlanma gibi istekler gönderebilir. Uygulama, Radyo'daki Radyo Yöneticisi ve Radyo Tuner'den güncellemeler alır (ör. mevcut program bilgileri, radyo program listeleri, yapılandırmalar ve tedarikçi firma tarafından tanımlanan parametreler). Referans radyo uygulaması yalnızca AM ve FM radyoyu destekler. OEM'ler, Radyo uygulamasını diledikleri gibi değiştirebilir veya değiştirebilir.
Radyo Yöneticisi
Uygulama, Radyo Yöneticisi'nden bir tuner açmasını istediğinde Radyo Yöneticisi (frameworks/base/core/java/android/hardware/radio/RadioManager.java), Yayın Radyosu Hizmeti'nden (BRS) bir Tuner oturumu açmasını ister ve ardından oturumu uygulamaya döndürülen bir Radyo Tuner'a (frameworks/base/core/java/android/hardware/radio/RadioTuner.java) sarar.
Radyo Tuner, radyo uygulamalarından çağrılabilecek ve BRS'ye istek gönderebilecek API'leri (ör. ayarlama, adım ve iptal) tanımlar. Radyo Tuner'da tanımlanan geri çağırma yöntemleri (RadioTuner.Callback), yayın radyosu HAL ile ilgili güncellemeleri (ör. mevcut program bilgileri, program listeleri ve satıcı tanımlı parametreler) BRS'den uygulamalara gönderir.
Radyo Yayın Hizmeti
Yayın Radyosu Hizmeti (frameworks/base/services/core/java/com/android/server/broadcastradio), Yayın Radyosu HAL'in istemci hizmetidir. BRS, birden fazla radyo yöneticisini yayın radyosu HAL'leriyle koordine eder. BRS, HAL arayüz tanımlama dili (HIDL) ve Android arayüz tanımlama dili (AIDL) yayın radyosu HAL'lerini destekler. BRS, herhangi bir AIDL HAL hizmeti mevcut olduğunda AIDL HAL'e bağlanır; aksi takdirde hizmet HIDL HAL'e bağlanır. BRS, mevcut her HAL örneği (ör. AM, FM ve DAB) için bir Radyo Modülü oluşturur.
Her Radyo Yöneticisi, radyonun türüne bağlı olarak BRS'den ilgili Radyo Modülü'nde bir tuner oturumu oluşturmasını isteyebilir. Her tuner oturumu, ilgili yayın radyosu HAL örneğinde işlem yapmak için ayarlama, adım ve iptal gibi yöntemleri (HAL arayüzlerinde tanımlanır) çağırabilir. Bir tuner oturumu, HAL güncellemesi (ör. mevcut program bilgileri, program listesi, yapılandırma işaretleri ve tedarikçi parametreleri) için HAL örneğinden geri çağırma aldığında güncellemeyle ilgili geri çağırmalar aynı Radyo Modülü'ne bağlı tüm Radyo Tuner'lara gönderilir.
Radyo yayını HAL
Yayın radyosunun HIDL ve AIDL arayüzleri ve ikisi arasındaki farklar hakkında daha fazla bilgi edinmek için Yayın Radyosu HAL arayüzü başlıklı makaleyi inceleyin.
Bu sayfadaki içerik ve kod örnekleri, İçerik Lisansı sayfasında açıklanan lisanslara tabidir. Java ve OpenJDK, Oracle ve/veya satış ortaklarının tescilli ticari markasıdır.
Son güncelleme tarihi: 2025-07-27 UTC.
[[["Anlaması kolay","easyToUnderstand","thumb-up"],["Sorunumu çözdü","solvedMyProblem","thumb-up"],["Diğer","otherUp","thumb-up"]],[["İhtiyacım olan bilgiler yok","missingTheInformationINeed","thumb-down"],["Çok karmaşık / çok fazla adım var","tooComplicatedTooManySteps","thumb-down"],["Güncel değil","outOfDate","thumb-down"],["Çeviri sorunu","translationIssue","thumb-down"],["Örnek veya kod sorunu","samplesCodeIssue","thumb-down"],["Diğer","otherDown","thumb-down"]],["Son güncelleme tarihi: 2025-07-27 UTC."],[],[],null,["# Overview\n\nThe broadcast radio stack consists of the components illustrated in Figure 1.\n**Figure 1.** Broadcast Radio architecture.\n\nRadio reference app\n-------------------\n\nFor details about how to implement radio control, see\n[Radio control implementation](/docs/automotive/radio/radio-control-implementation).\n\nA sample Java radio app (`packages/apps/Car/Radio`) serves as a reference\nimplementation. When the app service starts, it requests Radio Manager to open a Radio Tuner. Then,\nthe app can send requests to the Radio Tuner, such as tuning to a specific radio station, frequency,\nor to seek the next available radio station. The app receives updates from the Radio Manager and\nRadio Tuner in Radio, such as current program information, radio program lists, configurations, and\nvendor-defined parameters. The reference Radio app only supports AM and FM radio. OEMs can modify or\nreplace the Radio app as desired.\n\nRadio Manager\n-------------\n\nWhen the app requests Radio Manager to open a tuner, the Radio Manager\n(`frameworks/base/core/java/android/hardware/radio/RadioManager.java`) requests the\nBroadcast Radio Service (BRS) to open a Tuner session and then wraps the session in a Radio Tuner\n(`frameworks/base/core/java/android/hardware/radio/RadioTuner.java`), which is returned\nto the app.\n\nThe Radio Tuner defines APIs (such as tune, step, and cancel) that can be called from radio apps\nand send requests to BRS. Callback methods (`RadioTuner.Callback`) defined in Radio\nTuner send updates about the broadcast radio HAL, such as current program information, program\nlists, and vendor-defined parameters, from the BRS to apps.\n\nBroadcast Radio Service\n-----------------------\n\nThe Broadcast Radio Service\n(`frameworks/base/services/core/java/com/android/server/broadcastradio`) is the client\nservice for Broadcast Radio HAL. The BRS coordinates multiple Radio Managers with Broadcast Radio\nHALs. The BRS supports\n[HAL interface definition language (HIDL)](/docs/core/architecture/hidl) and\n[Android interface definition language (AIDL)](/docs/core/architecture/aidl) broadcast\nradio HALs. The BRS links to the AIDL HAL when any AIDL HAL service exists;\notherwise, the service links to the HIDL HAL. The BRS creates a Radio Module\nfor each available HAL instance (such as AM, FM, and DAB).\n\nEach Radio Manager can request the BRS to create a tuner session on the\ncorresponding Radio Module, based on the type of radio. Each tuner session can call methods, such\nas tune, step, and cancel (defined in HAL interfaces) to perform operations on the\ncorresponding broadcast radio HAL instance. When one tuner session receives a callback from the HAL\ninstance on a HAL update, such as current program info, program list, configuration flags and,\nvendor parameters, callbacks about the update are sent to all Radio Tuners linked to the same\nRadio Module.\n\nBroadcast Radio HAL\n-------------------\n\n| In Android 13 and lower, versions of the BRS are provided in HIDL and AIDL. New features are added **only** to releases of Android 14 and higher.\n\nTo learn more about the HIDL and AIDL interfaces of broadcast radio and the differences between\nthe two, see\n[Broadcast Radio HAL interface](/docs/automotive/radio/broadcast-radio-hal)."]]