ब्रॉडकास्ट रेडियो स्टैक में, पहली इमेज में दिखाए गए कॉम्पोनेंट शामिल होते हैं.
रेडियो चलाने के लिए इस्तेमाल होने वाला ऐप्लिकेशन
रेडियो कंट्रोल की सुविधा लागू करने का तरीक़ा जानने के लिए, यह देखें रेडियो कंट्रोल की सुविधा को लागू करना.
Java रेडियो ऐप्लिकेशन (packages/apps/Car/Radio
) का सैंपल, रेफ़रंस के तौर पर काम करता है
लागू करना. ऐप्लिकेशन की सेवा शुरू होने पर, वह रेडियो मैनेजर से एक रेडियो ट्यूनर खोलने का अनुरोध करती है. इसके बाद,
ऐप्लिकेशन, रेडियो ट्यूनर को अनुरोध भेज सकता है. जैसे, किसी खास रेडियो स्टेशन को ट्यून करने, फ़्रीक्वेंसी,
या अगला उपलब्ध रेडियो स्टेशन खोजने के लिए. ऐप्लिकेशन को रेडियो मैनेजर से अपडेट मिलते हैं और
रेडियो में रेडियो ट्यूनर, जैसे कि मौजूदा प्रोग्राम की जानकारी, रेडियो प्रोग्राम की सूचियां, कॉन्फ़िगरेशन, और
वेंडर के तय किए गए पैरामीटर. रेफ़रंस रेडियो ऐप्लिकेशन, सिर्फ़ एएम और एफ़एम रेडियो पर काम करता है. OEM बदलाव कर सकते हैं या
रेडियो ऐप्लिकेशन को अपनी पसंद के हिसाब से बदलें.
रेडियो मैनेजर
जब ऐप्लिकेशन, रेडियो मैनेजर से ट्यूनर खोलने का अनुरोध करता है, तो रेडियो मैनेजर
(frameworks/base/core/java/android/hardware/radio/RadioManager.java
)
ट्यूनर सेशन खोलने और फिर सेशन को रेडियो ट्यूनर में खत्म करने के लिए, ब्रॉडकास्ट रेडियो सर्विस (बीआरएस)
(frameworks/base/core/java/android/hardware/radio/RadioTuner.java
), जो लौटाया गया
किस ऐप्लिकेशन को मिलेगा.
रेडियो ट्यूनर, ऐसे एपीआई (जैसे कि ट्यून, स्टेप, और रद्द) के बारे में बताता है जिन्हें रेडियो ऐप्लिकेशन से कॉल किया जा सकता है
और BRS को अनुरोध भेजें. रेडियो में बताए गए कॉलबैक के तरीके (RadioTuner.Callback
)
ट्यूनर, ब्रॉडकास्ट रेडियो एचएएल के बारे में अपडेट भेजता है, जैसे कि मौजूदा प्रोग्राम की जानकारी, प्रोग्राम
लिस्ट, और वेंडर के तय किए हुए पैरामीटर शामिल हैं.
ब्रॉडकास्ट रेडियो सेवा
द ब्रॉडकास्ट रेडियो सर्विस
(frameworks/base/services/core/java/com/android/server/broadcastradio
) क्लाइंट है
ब्रॉडकास्ट रेडियो एचएएल की सेवा उपलब्ध करा रहा है. बीआरएस, ब्रॉडकास्ट रेडियो की मदद से कई रेडियो मैनेजर का तालमेल बिठाती है
एचएएल. BRS समर्थन करता है
HAL इंटरफ़ेस की परिभाषा की भाषा (HIDL) और
Android इंटरफ़ेस डेफ़िनिशन लैंग्वेज (AIDL) ब्रॉडकास्ट
रेडियो एचएएल. किसी भी एआईडीएल एचएएल सेवा के मौजूद होने पर बीआरएस को एआईडीएल एचएएल से लिंक किया जाता है;
ऐसा न होने पर, सेवा HIDL HAL से लिंक हो जाती है. BRS ने एक रेडियो मॉड्यूल बनाया है
हर उपलब्ध एचएएल इंस्टेंस के लिए (जैसे कि AM, FM, और DAB).
हर रेडियो मैनेजर बीआरएस से, रेडियो के टाइप के हिसाब से, संबंधित रेडियो मॉड्यूल. ट्यूनर के हर सेशन में कई तरीके हो सकते हैं, जैसे कि ट्यून, स्टेप, और रद्द (HAL इंटरफ़ेस में परिभाषित) के रूप में किया जाता है, ताकि संबंधित ब्रॉडकास्ट रेडियो HAL इंस्टेंस. जब एक ट्यूनर सेशन को एचएएल से कॉलबैक मिलता है इंस्टेंस, जैसे कि मौजूदा प्रोग्राम की जानकारी, प्रोग्राम की सूची, कॉन्फ़िगरेशन फ़्लैग और वेंडर पैरामीटर और अपडेट से जुड़े कॉलबैक, दोनों एक ही ऐसेट से जुड़े सभी रेडियो ट्यूनर को भेजे जाते हैं रेडियो मॉड्यूल.
ब्रॉडकास्ट रेडियो एचएएल
ब्रॉडकास्ट रेडियो के HIDL और AIDL दोनों, देखें ब्रॉडकास्ट रेडियो एचएएल इंटरफ़ेस.