تتألف حزمة البث الإذاعي من المكونات الموضّحة في الشكل 1.
تطبيق مرجعي للراديو
لمعرفة التفاصيل حول كيفية تنفيذ التحكّم في الراديو، يُرجى الاطّلاع على تنفيذ التحكّم في الراديو.
يُعدّ نموذج تطبيق Java للراديو (packages/apps/Car/Radio
) مرجعًا لتطبيق
البث. عند بدء خدمة التطبيق، تطلب من "مدير الراديو" فتح أداة ضبط الراديو. بعد ذلك،
يمكن للتطبيق إرسال طلبات إلى أداة ضبط الراديو، مثل ضبط إعدادات محطة إذاعية أو تردد معيّن،
أو الانتقال إلى المحطة الإذاعية التالية المتاحة. يتلقّى التطبيق تعديلات من "مدير الراديو" و
"مُعدِّل الراديو" في تطبيق "الراديو"، مثل معلومات البرنامج الحالي وقوائم البرامج الإذاعية والإعدادات
والمَعلمات التي يحدّدها المورّد. لا يتيح تطبيق "راديو Google" المرجعي سوى راديو AM وFM. يمكن لمصنّعي المعدّات الأصلية تعديل تطبيق "الراديو" أو
استبداله حسب الرغبة.
مدير البث
عندما يطلب التطبيق من "مدير الراديو" فتح أداة ضبط، يطلب "مدير الراديو"
(frameworks/base/core/java/android/hardware/radio/RadioManager.java
) من
"خدمة البثّ الإذاعي" (BRS) فتح جلسة أداة ضبط، ثم يُغلِق الجلسة في أداة ضبط الراديو
(frameworks/base/core/java/android/hardware/radio/RadioTuner.java
)، والتي يتم إرجاعها
إلى التطبيق.
وتحدِّد أداة ضبط الراديو واجهات برمجة التطبيقات (مثل ضبط الإعدادات والانتقال إلى الخطوة التالية والإلغاء) التي يمكن استدعاؤها من تطبيقات الراديو
ومرسَلة الطلبات إلى "خدمة البثّ الإذاعي". تُرسِل طُرق طلب معاودة الاتصال (RadioTuner.Callback
) المحدّدة في Radio
tuner تعديلات حول HAL لبث الإذاعة، مثل معلومات البرنامج الحالي وقوائم
البرامج والمَعلمات التي يحدّدها المورّد، من BRS إلى التطبيقات.
خدمة البثّ الإذاعي
خدمة البثّ الإذاعي
(frameworks/base/services/core/java/com/android/server/broadcastradio
) هي خدمة العميل
لواجهة برمجة التطبيقات Broadcast Radio HAL. تنظّم خدمة BRS عدّة "مديري راديو" مع واجهة برمجة التطبيقات لبثّ المحتوى على تتيح واجهة BRS استخدام HAL interface definition language (HIDL) وAndroid interface definition language (AIDL) لبث واجهة HAL للراديو. ترتبط BRS بواجهة برمجة التطبيقات AIDL HAL عند توفُّر أي خدمة AIDL HAL،
وإلا، ترتبط الخدمة بواجهة برمجة التطبيقات HIDL HAL. ينشئ BRS وحدة راديو
لكل مثيل HAL متاح (مثل AM وFM وDAB).
يمكن لكل مدير راديو أن يطلب من BRS إنشاء جلسة معيّنة لوحدة التحكّم في الترميز على وحدة الراديو المقابلة، استنادًا إلى نوع الراديو. يمكن لكل جلسة من جلسات أداة الضبط استدعاء طُرق، مثل tune وstep وcancel (المحدّدة في واجهات HAL) لتنفيذ عمليات على العنصر المقابل من HAL لبثّ الإذاعة. عندما تتلقّى جلسة أحد أجهزة الاستقبال مكالمة مرتدة من مثيل HAL بخصوص تحديث HAL، مثل معلومات البرنامج الحالي وقائمة البرامج وعلامات الضبط ومقاييس مورّد الجهاز، يتم إرسال المكالمات المرتدة بشأن التحديث إلى جميع أجهزة استقبال الراديو المرتبطة بالوحدة نفسها للراديو.
Broadcast Radio HAL
للاطّلاع على مزيد من المعلومات عن واجهات HIDL وAIDL لبث الإذاعة والاختلافات بينهما، يُرجى الاطّلاع على واجهة Broadcast Radio HAL.