সম্প্রচার রেডিও বাস্তবায়নের জন্য হার্ডওয়্যার অ্যাবস্ট্রাকশন লেয়ার (HAL) এর সাথে কীভাবে কাজ করতে হয় তা নিম্নলিখিত বিভাগগুলি বর্ণনা করে।
ব্রডকাস্ট রেডিও HAL ইন্টারফেস
ব্রডকাস্ট রেডিও HAL সম্প্রচার রেডিও যেমন AM/FM এবং DAB রেডিও বাস্তবায়নের জন্য হার্ডওয়্যার স্তরে ডেটা স্ট্রাকচার এবং ইন্টারফেস প্রদান করে।
HIDL 2.0 এবং AIDL ইন্টারফেস
সম্প্রচার রেডিও HAL নিম্নলিখিত বিভাগে বর্ণিত ইন্টারফেস ব্যবহার করে।
আইএ ঘোষণা শ্রোতা
IAnnouncementListener হল ঘোষণা শ্রোতার জন্য একটি কলব্যাক ইন্টারফেস, যা ঘোষণা গ্রহণের জন্য সম্প্রচারিত রেডিও HAL-এ নিবন্ধিত হতে পারে। ইন্টারফেসের নিম্নলিখিত পদ্ধতি রয়েছে:
| আইএ ঘোষণা শ্রোতা | ||
|---|---|---|
| বর্ণনা: যখনই ঘোষণার তালিকা পরিবর্তিত হয় তখন কল করা হয়। | ||
| HIDL 2.0 | oneway onListUpdated(vec<Announcement> announcements) | |
| এআইডিএল | oneway void onListUpdated(in Announcement[] announcements) | |
আইক্লোজহ্যান্ডেল
ICloseHandle হল একটি সাধারণ ক্লোজ হ্যান্ডেল যা একটি কলব্যাক অপসারণ করে যার জন্য একটি সক্রিয় ইন্টারফেসের প্রয়োজন নেই৷
| আইক্লোজহ্যান্ডেল | ||
|---|---|---|
| বর্ণনা: হ্যান্ডেল বন্ধ করুন। | ||
| HIDL 2.0 | close() | |
| এআইডিএল | void close() | |
আইটিউনার কলব্যাক
ITunerCallback হল একটি কলব্যাক ইন্টারফেস যা ব্রডকাস্ট রেডিও HAL দ্বারা HAL ক্লায়েন্ট পরিষেবায় আপডেট পাঠানোর জন্য ডাকা হয়।
| আইটিউনার কলব্যাক | ||
|---|---|---|
| বর্ণনা: যখন একটি টিউনিং অপারেশন (টিউন, সিক (এআইডিএল) বা স্ক্যান (এইচআইডিএল-এ) এবং পদক্ষেপ সফল হয় তখন অ্যাসিঙ্ক্রোনাসভাবে ব্যর্থ হলে HAL দ্বারা ডাকা হয়। | ||
| HIDL 2.0 | oneway onCurrentProgramInfoChanged(ProgramInfo info) | |
| এআইডিএল | void onCurrentProgramInfoChanged(in ProgramInfo info) | |
| বর্ণনা: টিউন, সিক (এআইডিএল-এ) বা স্ক্যান (এইচআইডিএল-এ) বা পদক্ষেপ সফল হলে বলা হয়। | ||
| HIDL 2.0 | oneway onTuneFailed(Result result, ProgramSelector selector) | |
| এআইডিএল | void onTuneFailed(in Result result, in ProgramSelector selector) | |
| বর্ণনা: টিউন, সিক (এআইডিএল-এ) বা স্ক্যান (এইচআইডিএল-এ) বা পদক্ষেপ সফল হলে বলা হয়। | ||
| HIDL 2.0 | oneway onCurrentProgramInfoChanged(ProgramInfo info) | |
| এআইডিএল | void onCurrentProgramInfoChanged(in ProgramInfo info) | |
| বর্ণনা: প্রোগ্রাম তালিকা আপডেট করা হলে কল করা হয়; প্রতিটি খণ্ডের আকার 500kiB এ সীমাবদ্ধ হওয়া উচিত। | ||
| HIDL 2.0 | oneway onProgramListUpdated(ProgramListChunk chunk) | |
| এআইডিএল | void onProgramListUpdated(ProgramListChunk chunk) | |
| বর্ণনা: অ্যান্টেনা সংযুক্ত বা সংযোগ বিচ্ছিন্ন হলে কল করা হয়। | ||
| HIDL 2.0 | oneway onAntennaStateChange(bool connected) | |
| এআইডিএল | void onCurrentProgramInfoChanged(in ProgramInfo info) | |
বর্ণনা: যখন বিক্রেতা-নির্দিষ্ট প্যারামিটার মানগুলি HAL-এ অভ্যন্তরীণভাবে আপডেট করা হয় তখন কল করা হয় (HAL ক্লায়েন্ট দ্বারা setParameters কল করার পরে আহ্বান করবেন না)। | ||
| HIDL 2.0 | oneway onParametersUpdated(vec<VendorKeyValue> parameters) | |
| এআইডিএল | void onParametersUpdated(in VendorKeyValue[] parameters) | |
বর্ণনা: এআইডিএল-এ নতুন। HAL-এ অভ্যন্তরীণভাবে কনফিগারেশন ফ্ল্যাগ আপডেট করা হলে কল করা হয় (HAL ক্লায়েন্ট দ্বারা setConfigFlag কল করার পরে আহ্বান করা উচিত নয়)। | ||
| HIDL 2.0 | প্রযোজ্য নয়। | |
| এআইডিএল | void onConfigFlagUpdated(in ConfigFlag flag, in boolean value) | |
আইব্রডকাস্ট রেডিও
IBroadcastRadio হল ব্রডকাস্ট রেডিও HAL-এর প্রাথমিক ইন্টারফেস। HIDL 2.0 HAL-এ, অপারেশন কল করতে টিউনারে ITunerSession ইন্টারফেস ব্যবহার করুন। যাইহোক, এক সময়ে সর্বাধিক একটি টিউনার সক্রিয় থাকে (প্রদত্ত প্রতিটি ব্রডকাস্ট রেডিও HAL উদাহরণে শুধুমাত্র একটি টিউনার চিপ থাকে)। ITunerSession AIDL ইন্টারফেস থেকে সরানো হয়েছে এবং এর ইন্টারফেসগুলি IBroadcastRadio এ সরানো হয়েছে।
| আইব্রডকাস্ট রেডিও | ||
|---|---|---|
| বর্ণনা: একটি মডিউল এবং এর ক্ষমতার বিবরণ পান। | ||
| HIDL 2.0 | getProperties() generates (Properties properties) | |
| এআইডিএল | Properties getProperties() | |
| বর্ণনা: বর্তমান বা সম্ভাব্য AM/FM অঞ্চল কনফিগারেশন নিয়ে আসে। | ||
| HIDL 2.0 | getAmFmRegionConfig(bool full) generates (Result result, AmFmRegionConfig config) | |
| এআইডিএল | AmFmRegionConfig getAmFmRegionConfig(bool full) | |
| বর্ণনা: বর্তমান DAB অঞ্চল কনফিগারেশন নিয়ে আসে। | ||
| HIDL 2.0 | getDabRegionConfig() generates (Result result, vec<DabTableEntry> config) | |
| এআইডিএল | DabTableEntry[] getDabRegionConfig() | |
| বর্ণনা: রেডিও মডিউল ক্যাশে থেকে একটি চিত্র পায়। AIDL-এ, বাইন্ডার লেনদেন বাফারের একটি হার্ড সীমার কারণে ছবির আকার অবশ্যই 1MB এর কম হতে হবে। | ||
| HIDL 2.0 | getImage(uint32_t id) generates (vec<uint8_t> image) | |
| এআইডিএল | byte[] getImage(in int id) | |
| বর্ণনা: ঘোষণা শ্রোতা নিবন্ধন. | ||
| HIDL 2.0 | registerAnnouncementListener(vec<AnnouncementType> enabled,IAnnouncementListener listener) generates (Result result, ICloseHandle closeHandle) | |
| এআইডিএল | ICloseHandle registerAnnouncementListener(in IAnnouncementListener listener, in AnnouncementType[] enabled) | |
বর্ণনা:
| ||
| HIDL 2.0 | openSession(ITunerCallback callback) জেনারেট করে (Result result, ITunerSession session) | |
| এআইডিএল | void setTunerCallback(in ITunerCallback callback) | |
বর্ণনা:
| ||
| HIDL 2.0 | close() | |
| এআইডিএল | unsetTunerCallback() | |
| বর্ণনা: একটি নির্দিষ্ট প্রোগ্রাম টিউন. | ||
| HIDL 2.0 | tune(ProgramSelector program) generates (Result result) | |
| এআইডিএল | void tune(in ProgramSelector program) | |
বর্ণনা: বাতাসে পরবর্তী বৈধ প্রোগ্রাম চায়। এআইডিএল-এ বিভ্রান্তি এড়াতে, scan নাম পরিবর্তন করে seek হয়েছে। | ||
| HIDL 2.0 | scan(bool directionUp, bool skipSubChannel) generates (Result result) | |
| এআইডিএল | void seek(in boolean directionUp, in boolean skipSubChannel) | |
| বর্ণনা: পার্শ্ববর্তী চ্যানেলের ধাপ, যা কোনো প্রোগ্রাম দ্বারা দখল করা যাবে না। | ||
| HIDL 2.0 | step(bool directionUp) generates (Result result) | |
| এআইডিএল | void step(in boolean directionUp) | |
| বর্ণনা: মুলতুবি থাকা টিউন, স্ক্যান (এইচআইডিএল-এ) বা সন্ধান (এআইডিএল-এ) বা ধাপ অপারেশন বাতিল করে। | ||
| HIDL 2.0 | cancel() | |
| এআইডিএল | void cancel() | |
বর্ণনা: প্রোগ্রাম তালিকায় একটি ফিল্টার প্রয়োগ করে এবং onProgramListUpdated কলব্যাকের মাধ্যমে প্রোগ্রাম তালিকা আপডেট পাঠানো শুরু করে। | ||
| HIDL 2.0 | startProgramListUpdates(ProgramFilter filter) generates (Result result) | |
| এআইডিএল | void startProgramListUpdates(in ProgramFilter filter) | |
| বর্ণনা: প্রোগ্রাম তালিকা আপডেট পাঠানো বন্ধ করে. | ||
| HIDL 2.0 | stopProgramListUpdates() | |
| এআইডিএল | void stopProgramListUpdates() | |
| বর্ণনা: একটি প্রদত্ত কনফিগারেশন পতাকার বর্তমান সেটিং নিয়ে আসে। | ||
| HIDL 2.0 | isConfigFlagSet(ConfigFlag flag) generates (Result result, bool value) | |
| এআইডিএল | boolean isConfigFlagSet(in ConfigFlag flag) | |
| বর্ণনা: প্রদত্ত কনফিগারেশন পতাকা সেট করে। | ||
| HIDL 2.0 | setConfigFlag(ConfigFlag flag, bool value) generates (Result result) | |
| এআইডিএল | void setConfigFlag(in ConfigFlag flag, boolean value) | |
| বর্ণনা: বিক্রেতা-নির্দিষ্ট প্যারামিটার মান সেট করে। | ||
| HIDL 2.0 | setParameters(vec<VendorKeyValue> parameters)উৎপন্ন করে , (vec<VendorKeyValue> results) | |
| এআইডিএল | VendorKeyValue[] setParameters(in VendorKeyValue[] parameters) | |
| বর্ণনা: বিক্রেতা-নির্দিষ্ট পরামিতি মান পুনরুদ্ধার করে। | ||
| HIDL 2.0 | getParameters(vec<string> keys) generates (vec<VendorKeyValue> parameters) | |
| এআইডিএল | VendorKeyValue[] getParameters(in String[] keys) | |
ইন্টারফেস স্পষ্টীকরণ
অ্যাসিঙ্ক্রোনাস আচরণ
যেহেতু প্রতিটি টিউনিং অপারেশন (উদাহরণস্বরূপ, টিউন, স্ক্যান (এইচআইডিএল-এ) বা সন্ধান (এআইডিএল-এ) এবং পদক্ষেপগুলি সময়সাপেক্ষ হতে পারে এবং থ্রেডটি দীর্ঘ সময়ের জন্য অবরুদ্ধ করা উচিত নয়, অপারেশনটি সময়-সাপেক্ষ ক্রিয়াকলাপগুলিকে পরে ঘটানোর জন্য নির্ধারিত করা উচিত এবং দ্রুত একটি স্থিতি বা ফলাফল ফিরিয়ে আনতে হবে৷ বিস্তারিতভাবে, প্রতিটি অপারেশন করা উচিত:
- সমস্ত মুলতুবি টিউনিং অপারেশন বাতিল করুন।
- পদ্ধতি ইনপুট এবং টিউনার অবস্থার উপর ভিত্তি করে অপারেশন প্রক্রিয়া করা যেতে পারে কিনা তা পরীক্ষা করুন।
- টিউনিং টাস্ক শিডিউল করুন এবং তারপর
Result(এইচআইডিএল-এ) বাstatus(এআইডিএল-এ) অবিলম্বে ফেরত দিন।ResultবাstatusOKথাকলে, টিউনিং টাস্ক ব্যর্থ হলে (উদাহরণস্বরূপ, টাইমআউটের কারণে) বা সম্পূর্ণ হলে টিউনার কলব্যাকtuneFailedবাcurrentProgramInfoChangedকল করতে হবে।
একইভাবে, startProgramListUpdates পরবর্তীতে অনুষ্ঠানের তালিকা আপডেট করার এবং দ্রুত একটি স্ট্যাটাস বা ফলাফল ফেরত দেওয়ার জন্য সময়সাপেক্ষ কাজ নির্ধারণ করে। পদ্ধতিটি প্রথমে মুলতুবি থাকা আপডেটের অনুরোধগুলি বাতিল করে এবং তারপরে আপডেট করার কাজটি নির্ধারণ করে এবং দ্রুত ফলাফল প্রদান করে।
রেসের অবস্থা
টিউনিং অপারেশনগুলির অসিঙ্ক্রোনাস আচরণের কারণে (উদাহরণস্বরূপ, টিউন, স্ক্যান (এইচআইডিএল-এ) বা সন্ধান (এআইডিএল-এ) এবং ধাপে, অপারেশন বাতিল করা এবং টিউনিং অপারেশনগুলির মধ্যে একটি রেস শর্ত বিদ্যমান। এইচএএল একটি টিউনিং অপারেশন সম্পূর্ণ করার পরে এবং কলব্যাক সম্পূর্ণ হওয়ার আগে যদি cancel কল করা হয়, তবে বাতিলটি উপেক্ষা করা যেতে পারে এবং কলব্যাকটি সম্পূর্ণ হওয়া উচিত এবং এইচএএল ক্লায়েন্ট দ্বারা গ্রহণ করা উচিত।
একইভাবে, HAL একটি প্রোগ্রাম তালিকা আপডেট সম্পূর্ণ করার পরে এবং onCurrentProgramInfoChanged কলব্যাক সম্পূর্ণ হওয়ার আগে যদি stopProgramListUpdates কল করা হয়, তাহলে stopProgramListUpdates উপেক্ষা করা যেতে পারে এবং কলব্যাক সম্পূর্ণ হওয়া উচিত।
ডেটা আকারের সীমা
যেহেতু বাইন্ডার লেনদেনের বাফারে একটি কঠিন সীমা রয়েছে, তাই সম্ভাব্য বড় আকারের ডেটা পাস করার কিছু ইন্টারফেস পদ্ধতির ডেটা সীমা AIDL HAL-এ স্পষ্ট করা হয়েছে।
-
getImageজন্য 1 MB-এর কম ছবি ফেরত দিতে হবে। -
onProgramListUpdateজন্য প্রতিটিchunk500kiB-এর কম হতে হবে। HAL বাস্তবায়নের মাধ্যমে বৃহত্তর প্রোগ্রাম তালিকাকে একাধিক খণ্ডে বিভক্ত করতে হবে এবং একাধিক কলব্যাকের মাধ্যমে পাঠানো হবে।
AIDL HAL ডেটা স্ট্রাকচারে পরিবর্তন
ইন্টারফেসের পরিবর্তন ছাড়াও, এই পরিবর্তনগুলি ব্রডকাস্ট রেডিও AIDL HAL-তে সংজ্ঞায়িত ডেটা স্ট্রাকচারে প্রয়োগ করা হয়েছে, যা AIDL-এর সুবিধা নেয়।
- AIDL-এ
Constantenum সরানো হয় এবংIBroadcastRadioতে const int হিসাবে সংজ্ঞায়িত করা হয়। ইতিমধ্যে,ANTENNA_DISCONNECTED_TIMEOUT_MSনাম পরিবর্তন করেANTENNA_STATE_CHANGE_TIMEOUT_MSকরা হয়েছে।TUNER_TIMEOUT_MSint একটি নতুন const যোগ করা হয়েছে৷ এই সময়ের মধ্যে সমস্ত সুর, সন্ধান এবং পদক্ষেপের ক্রিয়াকলাপ সম্পূর্ণ করতে হবে। - Enum
RDSএবংDeemphasisAIDL-এ সরানো হয়েছে এবংAmFmRegionConfigএ const int হিসাবে সংজ্ঞায়িত করা হয়েছে। তদনুসারে,ProgramInfoতেfmDeemphasisএবংfmRdsউভয়কেই int হিসাবে ঘোষণা করা হয়েছে, সংশ্লিষ্ট ফ্ল্যাগের একটি বিট গণনা ফলাফল। ইতিমধ্যে,D50এবংD75নাম পরিবর্তন করে যথাক্রমেDEEMPHASIS_D50এবংDEEMPHASIS_D75রাখা হয়েছে। - Enum
ProgramInfoFlagsAIDL-এ সরানো হয় এবংProgramInfoএFLAG_উপসর্গ যুক্ত করে const int হিসাবে সংজ্ঞায়িত করা হয়। তদনুসারে,ProgramInfoএinfoFlagsint হিসাবে ঘোষণা করা হয়, পতাকাগুলির একটি বিট গণনা ফলাফল।TUNEDএর নাম পরিবর্তন করেFLAG_TUNABLEকরা হয়েছে, যাতে স্টেশনটি টিউন করা যেতে পারে তার সংজ্ঞাটি আরও ভালভাবে বর্ণনা করতে। -
AmFmBandRangeএ,scanSpacingএর নাম পরিবর্তন করেseekSpacingকরা হয়েছে, যেহেতুscanনাম পরিবর্তন করে এআইডিএল-এseek। - যেহেতু AIDL-এ ইউনিয়নের ধারণাটি চালু করা হয়েছে, তাই HIDL HAL-এ সংজ্ঞায়িত
MetadataKeyএবংMetadataআর ব্যবহার করা হয় না। একটি এআইডিএল ইউনিয়নMetadataএআইডিএল এইচএএল-এ সংজ্ঞায়িত করা হয়েছে। পূর্বেMetadataKeyএ থাকা প্রতিটি enum মান এখনMetadataএকটি ক্ষেত্র যার সংজ্ঞার উপর নির্ভর করে স্ট্রিং বা int-এর ধরন রয়েছে।
DAB রেডিও সমর্থন
এই বিভাগে DAB রেডিও সমর্থন বর্ণনা করে।
শনাক্তকারী
AIDL ব্রডকাস্ট রেডিও HAL-এ DAB এবং DMB রেডিওর প্রাথমিক শনাক্তকারীর ধরন হল DAB_SID_EXT । DAB_SID_EXT একটি 32-বিট পরিষেবা সনাক্তকারী (SIDs) ব্যবহার করে যাতে এটি DAB এবং DMB রেডিও উভয়ের SID উপস্থাপন করতে পারে।
প্রাথমিক শনাক্তকারী ছাড়াও, DAB_ENSEMBLE এবং DAB_FREQUENCY_KHZ মত মাধ্যমিক শনাক্তকারী সমর্থিত। এটি গুরুত্বপূর্ণ কারণ একাধিক DAB স্টেশন বিভিন্ন DAB_ENSEMBLE বা DAB_FREQUENCY_KHZ মান থাকাকালীন একটি DAB_SID_EXT ভাগ করতে পারে৷ সঠিক প্রোগ্রাম তালিকা আপডেট নিশ্চিত করতে, একই DAB_SID_EXT সহ স্টেশনগুলি ITunerCallback#onProgramListUpdated ব্যবহার করে একসাথে আপডেট করা হয়। এই আপডেটটি তারপর ব্রডকাস্ট রেডিও সার্ভিস এবং রেডিও ম্যানেজার এবং অবশেষে android.hardware.radio.ProgramList এর মাধ্যমে রেডিও অ্যাপে রিলে করা হয়।
মেটাডেটা
নিম্নলিখিত সারণীটি AIDL ব্রডকাস্ট রেডিও HAL-এ DAB-এর জন্য সমর্থিত মেটাডেটা নির্দিষ্ট দেখায়:
| মেটাডেটা ক্ষেত্র | বর্ণনা |
|---|---|
dabEnsembleName (সংক্ষিপ্ত রূপ: dabEnsembleNameShort ) | DAB স্টেশনের সমাহার নাম |
dabServiceName ( dabServiceNameShort থেকে সংক্ষেপিত) | DAB স্টেশনের পরিষেবার নাম |
dabComponentName ( dabComponentNameShort থেকে সংক্ষেপিত) | DAB স্টেশনের উপাদানের নাম |
এইচডি রেডিও রূপান্তর
এই বিভাগে HD রেডিও সমর্থন বর্ণনা করে।
শনাক্তকারী
HD_STATION_ID_EXT HD রেডিও স্টেশনগুলির প্রাথমিক শনাক্তকারী হিসাবে কাজ করে৷ স্টেশন শনাক্তকরণ আরও উন্নত করতে, HD_STATION_NAME এবং HD_STATION_LOCATION এর মতো মাধ্যমিক শনাক্তকারীগুলিও প্রদান করা হয়েছে৷ HD_STATION_LOCATION , যা অবস্থানের তথ্য প্রদান করে, Android 15-এ চালু করা হয়েছিল।
ডিজিটাল রেডিও সক্ষম বা অক্ষম করুন
Android 15 দিয়ে শুরু করে, আপনি ConfigFlag s সামঞ্জস্য করে ডিজিটাল রেডিও (যেমন HD রেডিও) সক্ষম বা অক্ষম করতে পারেন। FM রেডিওর জন্য এই সেটিং নিয়ন্ত্রণ করতে, FORCE_ANALOG_FM পতাকা ব্যবহার করুন; AM রেডিওর জন্য, FORCE_ANALOG_AM পতাকা ব্যবহার করুন। পতাকাটিকে false সেট করা HD রেডিও সক্ষম করে, যখন এটিকে true শক্তির এনালগ AM/FM রেডিওতে সেট করে।
HD চ্যানেল উপলব্ধ
Android 15 দিয়ে শুরু করে, বর্তমানে একটি HD রেডিও স্টেশনের জন্য উপলব্ধ HD চ্যানেলগুলিকে ProgramInfo.metadata এ 8 বিটের একটি বিট মাস্ক, Metadata#hdSubChannelsAvailable দ্বারা উপস্থাপন করা যেতে পারে। উদাহরণস্বরূপ, বাম থেকে বিট 1 এর মান এই HD স্টেশনের জন্য HD2 সাবচ্যানেল উপলব্ধ কিনা তা প্রতিনিধিত্ব করে।
সংকেত অধিগ্রহণ অবস্থা
অ্যান্ড্রয়েড 15 এবং উচ্চতর সংস্করণে, রেডিও অ্যাপগুলি ব্যবহারকারীদের HD রেডিও স্টেশনগুলির সংকেত অধিগ্রহণের অবস্থা দেখাতে পারে। এটি সহায়ক কারণ একটি শক্তিশালী HD সংকেত অর্জন করতে কখনও কখনও কয়েক মুহূর্ত সময় লাগতে পারে।
এই তথ্য প্রদান করতে, সিস্টেমটি স্ট্যাটাস ট্র্যাক করতে ProgramInfo.infoFlags ব্যবহার করে এবং ITunerCallback#onCurrentProgramInfoChanged.
ProgramInfo.infoFlags মধ্যে স্ট্যাটাস কীভাবে উপস্থাপন করা হয় তা এখানে:
- বিট 6: HD রেডিও সংকেত অর্জিত হয়েছে কিনা তা নির্দেশ করে।
- বিট 7: স্টেশন ইনফরমেশন সার্ভিস (SIS) ডেটা উপলব্ধ কিনা তা দেখায়। SIS স্টেশন এবং কী চলছে সে সম্পর্কে অতিরিক্ত তথ্য প্রদান করে।
- বিট 8: HD ডিজিটাল অডিও উপলব্ধ কিনা তা বলে।
মেটাডেটা
নিম্নলিখিত সারণীটি Android 15 এবং উচ্চতর সংস্করণগুলির জন্য সমর্থিত HD রেডিও মেটাডেটা দেখায়৷
| মেটাডেটা ক্ষেত্র | বর্ণনা |
|---|---|
commentShortDescription | মন্তব্যের সংক্ষিপ্ত প্রসঙ্গ বর্ণনা |
commentActualText | মন্তব্যের পাঠ্য |
commercial | রেডিও বাণিজ্যিক |
ufids | বিষয়বস্তুর সাথে যুক্ত ইউনিক ফাইল আইডেন্টিফায়ার (UFIDs) |
hdStationNameShort | HD রেডিও স্টেশনের সংক্ষিপ্ত নাম বা সর্বজনীন সংক্ষিপ্ত নাম |
hdStationNameLong | HD রেডিও স্টেশনের দীর্ঘ নাম, স্লোগান বা স্টেশন থেকে একটি বার্তা। |
জরুরী সতর্কতা
অ্যান্ড্রয়েড 15 এবং উচ্চতর সংস্করণে, জরুরি সতর্কতাগুলি HD রেডিও স্টেশনগুলির জন্য সমর্থিত হয় যাতে রেডিও অ্যাপ ব্যবহারকারীদের রেডিও স্টেশনগুলি থেকে পাঠানো জরুরি সতর্কতাগুলি জানানো হয়৷ জরুরী সতর্কতা ( Alert ) সাধারণ সতর্কতা প্রোটোকল (CAP) 1.2 স্ট্যান্ডার্ড অনুসরণ করে এবং নিম্নলিখিত সারণীতে দেখানো সতর্কতাগুলিকে সমর্থন করে:
| সতর্কতা তথ্য | বর্ণনা | Enum মান উপলব্ধ |
|---|---|---|
AlertStatus | সতর্কতা বার্তার অবস্থা | ACTUAL , EXERCISE , TEST |
AlertMessageType | জরুরী সতর্কতা বার্তার ধরন | ALERT , UPDATE , CANCEL |
AlertCategory | জরুরি সতর্কতা বার্তার বিষয় ইভেন্টের বিভাগ | GEO , MET , SAFETY , SECURITY , RESCUE , FIRE , HEALTH , ENV , TRANSPORT , INFRA , CBRNE , OTHER |
AlertUrgency | জরুরী সতর্কতা বার্তার বিষয় ঘটনা জরুরী | IMMEDIATE , EXPECTED , FUTURE , PAST , UNKNOWN |
AlertSeverity | জরুরি সতর্কতা বার্তার বিষয় ঘটনার তীব্রতা | EXTREME , SEVERE , MODERATE , MINOR , UNKNOWN |
AlertCertainty | জরুরি সতর্কতা বার্তার বিষয় ইভেন্টের নিশ্চিততা | OBSERVED , LIKELY , POSSIBLE , UNLIKELY , UNKNOWN |
Alert (যা টেবিলে তথ্য রয়েছে), সতর্কতা পাঠ্য বার্তা এবং AlertArea ব্যবহার করতে পারেন। Alert হল ProgramInfo তে একটি ঐচ্ছিক ক্ষেত্র যাতে এটি বর্তমান প্রোগ্রাম তথ্য এবং প্রোগ্রাম তালিকা আপডেটের জন্য টিউনার কলব্যাকের মাধ্যমে ব্রডকাস্ট রেডিও HAL থেকে রেডিও অ্যাপে পাঠানো যেতে পারে।