ব্লুটুথ লো এনার্জি অডিও (LEA) নিশ্চিত করে যে ব্যবহারকারীরা ব্যাটারির আয়ু না কমিয়েই হাই ফিডেলিটি অডিও পেতে পারেন এবং বিভিন্ন ব্যবহারের ক্ষেত্রে নির্বিঘ্নে পাল্টাতে পারেন। Android 13 (API লেভেল 33)-এ LEA-এর জন্য বিল্ট-ইন সহায়তা অন্তর্ভুক্ত।
LEA সোর্স ডিভাইসের মার্কেট শেয়ার না বাড়া পর্যন্ত বেশিরভাগ LEA হেডসেট ডুয়াল মোডে থাকবে। ব্যবহারকারীদের ডুয়াল মোড হেডসেটে দুটি ট্রান্সপোর্টই পেয়ার ও সেট-আপ করতে পারা উচিত।
উদাহরণ
আপনি নিম্নলিখিত ব্যবহারের ক্ষেত্রে LEA ইন্টিগ্রেট করতে চাইতে পারেন:
অডিও শেয়ার করা: ব্যবহারকারীরা এক বা একাধিক অডিও সিঙ্ক ডিভাইসে একসাথে একাধিক অডিও স্ট্রিম শেয়ার করতে পারবেন। সোর্স ডিভাইস ও কানেক্ট করা ডিভাইসের মধ্যে অডিও সিঙ্ক করা হয়।
অডিও ব্রডকাস্ট করা: ব্যবহারকারীরা বন্ধু ও পরিবারের সাথে অডিও ব্রডকাস্ট করতে পারবেন, একই সাথে তথ্য, বিনোদন বা অ্যাক্সেসিবিলিটির জন্য পাবলিক ব্রডকাস্টের সাথে কানেক্ট করতে পারবেন।
LC3 অডিও কোডেক সাপোর্ট: এটি ডিফল্ট অডিও কোডেক এবং A2DP (মিডিয়া)-এর জন্য ব্যবহৃত SBC কোডেক এবং HFP (ভয়েস)-এর জন্য ব্যবহৃত mSBC কোডেককে রিপ্লেস করে। LC3 আরও দক্ষ, পুনর্বিন্যাসযোগ্য এবং উচ্চ মানের।
অডিও স্যাম্পলিং সংক্রান্ত উন্নতি: মাইক্রোফোন ব্যবহার করার সময় হেডসেট হাই আউটপুট অডিও কোয়ালিটি বজায় রাখতে পারে। ব্লুটুথ মাইক্রোফোন ব্যবহার করার সময় ব্লুটুথ ক্লাসিক অডিও কোয়ালিটি কমিয়ে দেয়। BLE অডিওর মাধ্যমে, ইনপুট ও আউটপুট স্যাম্পলিং ৩২ কিলোহার্ৎজ পর্যন্ত পৌঁছাতে পারে।
স্টিরিও মাইক্রোফোন: হিয়ারেবল ডিভাইস স্পেশিয়াল অডিও উন্নত করার জন্য স্টিরিও মাইক্রোফোনের মাধ্যমে অডিও রেকর্ড করতে পারে।
হিয়ারিং এড প্রোফাইল (HAP) সংক্রান্ত সহায়তা: HAP ব্যবহারকারীদের আগের ASHA প্রোটোকলের চেয়ে আরও বেশি অ্যাক্সেসিবিলিটি ও ব্যবহারের সুবিধা দেয়। ব্যবহারকারীরা ফোন কল এবং VoIP অ্যাপ্লিকেশনের জন্য তাদের হিয়ারিং এড ব্যবহার করতে পারবেন।
Enhanced Attribute protocol (EATT) সংক্রান্ত সহায়তা: EATT আপনাকে পেয়ার করা হিয়ারেবল ডিভাইসে একসাথে একাধিক কমান্ড পাঠাতে দেয়।
মূল পরিস্থিতি
ব্যবহারের ক্ষেত্রে চারটি প্রধান বিভাগ আছে:
কথোপকথনমূলক: ডায়ালার এবং VoIP অ্যাপ্লিকেশন যেগুলির জন্য কম-লেটেন্সি কমিউনিকেশন রাউটিং প্রয়োজন, সেগুলি খুব ভালো কোয়ালিটির অডিও এবং কম ব্যাটারি ব্যবহার করার সুবিধা অফার করে।
গেমিং: কনকারেন্ট মাইক্রোফোন ও হাই-ফিডেলিটি প্লেব্যাক, গেমকে হিয়ারেবল ডিভাইসে খুব ভাল কোয়ালিটির অডিও স্ট্রিম করতে দেয়। কোনও গেমিং অ্যাপ BLE অডিও ইনপুট অ্যাক্সেস করতে পারে যখন কোনও গেম ব্লুটুথ মাইক্রোফোনকে ব্যবহারের জন্য প্রস্তুত হিসেবে সেট করে। তারপর, কোনও প্লেয়ার অন্য প্লেয়ারের সাথে লাইভ কথোপকথন শুরু করলে, গেম অ্যাপ কোনও দেরি না করেই মাইক্রোফোন ডেটা ব্যবহার করতে পারে।
মিডিয়া: মিডিয়া অ্যাপ্লিকেশন অডিও ম্যানেজারের পছন্দসই ডিভাইস সেট করতে পারে। ব্যবহারকারী সিস্টেম সেটিংস থেকে তার পছন্দের ডিভাইস পরিবর্তন করে এটি ওভাররাইড করতে পারবেন।
অ্যাক্সেসিবিলিটি: BLE অডিও সাপোর্ট করে এমন হিয়ারিং এড মাইক্রোফোন ব্যবহার করতে পারে, যার ফলে ব্যবহারকারীরা কল করার সময় একটানা হিয়ারিং এড ব্যবহার করতে পারেন।
BLE অডিও API ও পদ্ধতি
BLE অডিও হিয়ারেবল কাজ করার জন্য নিম্নলিখিত API ও পদ্ধতি প্রয়োজন:
AudioManager
setCommunicationDevice()কমিউনিকেশন ব্যবহারের ক্ষেত্রে ব্যবহার করা উচিত এমন অডিও ডিভাইস বেছে নেয়, যেমন ভয়েস বা ভিডিও কল। এই পদ্ধতিটি ভয়েস বা ভিডিও চ্যাট অ্যাপ্লিকেশন দ্বারা ব্যবহার করা যেতে পারে প্ল্যাটফর্মের ডিফল্ট হিসেবে বেছে নেওয়া অডিও ডিভাইস ছাড়া অন্য একটি অডিও ডিভাইস বেছে নিতে। এই API নিম্নলিখিত বন্ধ হয়ে যাওয়া API-এর পরিবর্তে ব্যবহার করা হয়:startBluetoothSco(),stopBluetoothSco()এবংsetSpeakerphoneOn()।clearCommunicationDevice()কল বা সেশন শেষ হওয়ার পরে কল করা হয় যাতে ব্যবহারকারী বিভিন্ন অ্যাপ্লিকেশনের মধ্যে ঘুরে ফিরে দেখার সময় দুর্দান্ত অভিজ্ঞতা পান।
BluetoothProfile
BluetoothLeAudioপ্রক্সি অবজেক্ট ব্যবহার করে ব্লুটুথ পরিষেবা নিয়ন্ত্রণ করে।
Telecom InCallService
InCallService.requestCallEndpointChange(), বন্ধ হয়ে যাওয়াInCallService.setAudioRoute()এবংInCallService.requestBluetoothAudio()API-কে রিপ্লেস করে এবং অ্যাপকে নির্দিষ্টCallEndpoint-এ অডিও রাউটিংয়ের অনুরোধ করার অনুমতি দেয়। পরিবর্তনের অনুরোধ করার সময় ক্লায়েন্টদের নিজস্বCallEndpointউল্লেখ করা উচিত নয়। পরিবর্তে, নতুন এন্ডপয়েন্টটিInCallService.onAvailableCallEndpointsChanged(java.util.List)-এর প্রদান করা সঠিক এন্ডপয়েন্টগুলির মধ্যে একটি হতে হবে।CallEndpoint.TYPE_BLUETOOTHব্লুটুথের মাধ্যমে অডিও স্ট্রিম পরিচালনা করে।- এই
InCallServiceAPI-গুলি ফোনের ডিফল্ট ফোন অ্যাপ বা অন্যান্য কলিং সারফেস যেমন পরিধানযোগ্য ডিভাইস, অটোমোবাইল বা অন্যান্য ব্লুটুথ ডিভাইস যা অডিও রাউটিংকে প্রভাবিত করতে পারে, সেগুলির দ্বারা ব্যবহার করার জন্য ডিজাইন করা হয়েছে।
Telecom CallControl
CallControlক্লাস Android 14 (API লেভেল 34)-এ প্রথমবার নিয়ে আসা হয়েছে এবং এটি শুধুমাত্র VoIP অ্যাপ্লিকেশনের জন্যConnectionওConnectionService-এর পরিবর্তে ব্যবহার করা হয়।CallControl.requestCallEndpointChange()এছাড়াওCallEndpointপরিবর্তন করার অনুরোধ করে। এই API, বন্ধ হয়ে যাওয়াConnection.requestBluetoothAudio()এবংConnection.setAudioRoute()API-এর পরিবর্তে ব্যবহার করা হয়।- আপডেট করা টেলিকম প্ল্যাটফর্ম API ছাড়াও, ভয়েস বা ভিডিও কলিং অ্যাপ্লিকেশন তৈরি করার সময় টেলিকম Jetpack লাইব্রেরি ব্যবহার করার জন্য বিশেষভাবে সাজেস্ট করা হয়। এই লাইব্রেরি ইন্টিগ্রেশন প্রসেসকে অনেক সহজ করে তুলতে পারে এবং সমস্ত Android সারফেস জুড়ে VoIP কলিং উন্নত করতে পারে।
অডিও ডিভাইসের তথ্য
AudioDeviceInfo.TYPE_BLE_HEADSETঅডিও ডিভাইসের ধরনকে LEA ডিভাইস হিসেবে বর্ণনা করে। হিয়ারেবল ডিভাইসটি LEA ডিভাইস কিনা তা শনাক্ত করতে ব্যবহার করা হয়।
অডিও রেকর্ডার
setPreferredDevice()অডিও রাউটিং ব্যবহার করার জন্য পছন্দের ডিভাইস সেট করে। ব্যবহারকারী সিস্টেম সেটিংস থেকে এটি ওভাররাইড করতে পারবেন।
ব্লুটুথ অ্যাডাপ্টার
isLeAudioSupported(): ডিভাইসের হার্ডওয়্যার LE অডিও সাপোর্ট করে কিনা তা জানাতে@BluetoothStatusCodesকনস্ট্যান্ট (FEATURE_SUPPORTED,FEATURE_NOT_SUPPORTEDবা একটি ত্রুটি কোড) রিটার্ন করে।isLeAudioBroadcastSourceSupported(): ডিভাইসের হার্ডওয়্যার LE অডিও ব্রডকাস্ট সোর্স সাপোর্ট করে কিনা তা নির্দেশ করে এমন একটি@BluetoothStatusCodesকনস্ট্যান্ট (FEATURE_SUPPORTED,FEATURE_NOT_SUPPORTED, বা একটি ত্রুটি কোড) রিটার্ন করে।
ব্যবহারের ধরনের উপর ভিত্তি করে গাইড
নির্দিষ্ট ব্যবহারের কেসের উপর ভিত্তি করে LEA প্রয়োগ করার নির্দেশিকা নিচে দেওয়া হল।
ভয়েস কমিউনিকেশন অ্যাপ্লিকেশন
ভয়েস কমিউনিকেশন অ্যাপ্লিকেশনের কাছে অডিও রাউটিং এবং ডিভাইসের স্ট্যাটাস ম্যানেজ করার বিকল্প থাকে। এটি তারা নিজেদের স্ট্যাটাস ম্যানেজ করে বা টেলিকম API ব্যবহার করে করতে পারে, যা আপনার জন্য অডিও রাউটিং এবং স্ট্যাটাস লজিক ম্যানেজ করে।
সেল্ফ-ম্যানেজড: যেসব অ্যাপ্লিকেশন
startBluetoothSco(),stopBluetoothSco()এবংsetSpeakerphoneOn()ব্যবহার করে অথবা অডিও রাউটিং স্টেট সেল্ফ-ম্যানেজ করতে চায়, সেগুলি অডিও ম্যানেজার সেল্ফ-ম্যানেজড কল গাইড অনুসরণ করে।ম্যানেজ করা: অডিও বা ভিডিও কলিং অ্যাপ্লিকেশন তৈরি করতে Telecom Jetpack লাইব্রেরি বা Telecom প্ল্যাটফর্ম API ব্যবহার করুন।
এই দুটি সমাধান আপনাকে অডিও রাউটিং নিয়ন্ত্রণ করতে এবং ব্লুটুথ ডিভাইসের মধ্যে পরিবর্তন করতে দেয়। আরও তথ্যের জন্য, টেলিকম ম্যানেজ করা কল সংক্রান্ত নির্দেশিকা দেখুন।
অডিও রেকর্ডিং অ্যাপ্লিকেশন
- মিডিয়া রেকর্ডার: মিডিয়া রেকর্ডার ব্যবহার করে অডিও রেকর্ড করার সময়, ব্লুটুথ হিয়ারেবল LEA সাপোর্ট করলে, আপনি স্টিরিওতে রেকর্ড করতে পারবেন। আরও তথ্যের জন্য, অডিও রেকর্ডিং সংক্রান্ত নির্দেশিকা দেখুন।
হেডসেট সংক্রান্ত সাজেশন
আরও বেশি LEA হেডসেট রিলিজ হওয়ার সাথে সাথে, আমরা রিয়েল-ওয়ার্ল্ড টেস্টিংয়ে এমন কিছু সমস্যা খুঁজে পেয়েছি যা ব্যবহারকারীর অভিজ্ঞতাকে খারাপ করে দেয়। স্পেসিফিকেশনে এই ধরনের সব সমস্যার সমাধান নেই। নিম্নলিখিত সারণীতে এমন কিছু সাজেশন দেওয়া হয়েছে যা LEA হেডসেট প্রস্তুতকারকদের মেনে চলা উচিত যাতে Android ব্যবহারকারীদের এন্ড-টু-এন্ড অভিজ্ঞতা উন্নত করা যায়।
| বর্ণনা | প্রসঙ্গ |
|---|---|
ডুয়াল-মোড হেডসেটের জন্য ক্রস ট্রান্সপোর্ট কী ডেরিভেশন (CTKD)
কাজ করে:
|
LEA সোর্স ডিভাইসের মার্কেট শেয়ার না বাড়া পর্যন্ত বেশিরভাগ নতুন LEA হেডসেট ডুয়াল-মোড হবে। ব্যবহারকারীরা যাতে তাদের ডুয়াল-মোড হেডসেট নির্বিঘ্নে পেয়ার করতে পারেন এবং দুটি ট্রান্সপোর্টই সেট-আপ করতে পারেন তা গুরুত্বপূর্ণ। এছাড়াও, Google Fast Pair-এর জন্য এটি গুরুত্বপূর্ণ। |
|
আপনি যদি চান যে আপনার LEA হেডসেট নির্ভরযোগ্যভাবে সোর্স ডিভাইসের সাথে আবার কানেক্ট হোক, তাহলে টার্গেট করা ঘোষণা (TA)-এর সুবিধা দিন। LE অডিও ইয়ারবাডকে সেন্ট্রাল ডিভাইস থেকে ইনকামিং কানেকশনের অনুরোধ করার জন্য TA ব্যবহার করতে হবে। আসন্ন BT SIG-তে যোগ করা হবে। |
BR/EDR-এর পেজিং মডেলে ফোন বা হেডসেট, যেকোনও একটির মাধ্যমে কানেকশন শুরু করা যায়, কিন্তু LEA-তে কানেকশন অবশ্যই সেন্ট্রাল ডিভাইসের মাধ্যমে শুরু করতে হবে। অনেক হেডসেট TA ব্যবহার করে না, যার অর্থ হল সেন্ট্রাল ডিভাইসটি পেরিফেরালকে একটি অনুমোদিত তালিকায় যোগ না করে আবার কানেক্ট করতে পারবে না। তবে, একটি অনুমোদিত তালিকা সংক্রান্ত সমাধান হেডসেটটিকে অন্য কোনও সেন্ট্রাল ডিভাইসের সাথে কানেক্ট করা থেকে আটকাতে পারে। তাই, LEA হেডসেটের জন্য TA সঠিকভাবে সাপোর্ট করা গুরুত্বপূর্ণ যাতে সেন্ট্রাল ডিভাইস মাল্টি-পয়েন্ট কানেকশন ভেঙে দিতে পারে এমন কোনও সমাধান ছাড়াই নির্ভরযোগ্যভাবে আবার কানেক্ট করতে পারে। |
ডুয়াল মোড ইয়ারবাডের জন্য অপ্টিমাইজ করা ডিসকভারেবিলিটি
|
এটি ডুয়াল-মোড LEA ইয়ারবাডকে ব্লুটুথ সেটিংসে ডুপ্লিকেট এন্ট্রি হিসেবে
দেখানো থেকে আটকায়, যা ব্যবহারকারীদের বিভ্রান্ত করতে পারে এবং
LEA পেয়ারিংয়ের অভিজ্ঞতাকে প্রভাবিত করতে পারে।
ডুয়াল-মোড ডিভাইসের জন্য ডাইনামিক লিডার নির্বাচন বিশেষভাবে গুরুত্বপূর্ণ যেগুলি ইনক্রিমেন্টালভাবে পেয়ার করা হয়। যেমন, প্রাথমিক পেয়ারিংয়ের সময় শুধুমাত্র একটি ইয়ারবাড উপলভ্য থাকলে, এটি নিজেকে ডুয়াল-মোড ডিভাইস হিসেবে উপস্থাপন করবে। ব্যবহারকারী পরে দ্বিতীয় ইয়ারবাডের সাথে পেয়ার করলে, তাকে শুধু LE কম্পোনেন্টের সাথে পেয়ার করতে হবে এবং CSIP নিশ্চিত করবে যে Android-এ সেগুলি একসাথে গ্রুপ করা হয়েছে। পেয়ার করার সময় পরিচয় সংক্রান্ত অ্যাড্রেস ব্যবহার করার সাজেশন দেওয়া হয় কারণ BR/EDR কম্পোনেন্ট আগে থেকেই ডিভাইসের পাবলিক অ্যাড্রেস আশেপাশের ডিভাইসের কাছে প্রকাশ করে দেয়। |
| Enhanced Attribute Protocol (EATT)-এর জন্য সহায়তা। | পেয়ারিং ও কানেকশন লেটেন্সি কমায়। |
| রোবাস্ট GATT ক্যাশিং-এর জন্য সহায়তা। | কানেকশন লেটেন্সি কমায়, বিশেষ করে TWS বাডের ক্ষেত্রে। |
| কানেকশন সাবরেটিং সংক্রান্ত সহায়তা। | আরও নমনীয় প্যাকেট শিডিউলিং ও সম্ভাব্য ব্যাটারি সাশ্রয়ের সুবিধা দেয়। |
| নিশ্চিত করুন যে প্লেব্যাক ও ক্যাপচার, দুটিরই প্রি- ও পোস্ট-প্রসেসিংয়ের সময়, সিগন্যাল প্রসেসিং পাইপলাইন ১৬, ২৪, ৩২ ও ৪৮ kHz-এ কাজ করতে পারে এবং আরও বেশি ফ্রিকোয়েন্সি সাপোর্ট করে। | LEA কল বা VoIP ক্যাপচার পাথ এবং মিডিয়া প্লেব্যাকের জন্য সমর্থিত উচ্চতর স্যাম্পলিং রেটের সুবিধা নেয়। |
| LE পাওয়ার কন্ট্রোল সাপোর্ট করে | আরও ভাল পাওয়ার ম্যানেজমেন্ট |
কন্টেক্সট টাইপ সংক্রান্ত সহায়তা
| বর্ণনা | প্রসঙ্গ |
|---|---|
| হেডসেট স্পষ্টভাবে প্রদত্ত প্রসঙ্গের ধরন সাপোর্ট না করলে, অ্যাসাইন করা নম্বর 6.12.3-এ উল্লেখ করা সব প্রসঙ্গের ধরন ব্যবহার করুন। | যেমন, "গেম" কনটেক্সট টাইপ কাজ না করলে, Android গেমের সাউন্ড পাঠাবে। বিশেষ করে, মনে রাখবেন যে "Unspecified" কনটেক্সট টাইপের অর্থ "যেকোনও কনটেক্সট টাইপ" নয় এবং এটি কাজ করে না এমন কনটেক্সট টাইপ কভার করে না। |
সেন্ট্রাল ডিভাইস যখন পেরিফেরাল ডিভাইসের ASCS-এর সাথে ইন্টার্যাক্ট করে, তখন পেরিফেরাল ডিভাইসকে অবশ্যই সেন্ট্রাল ডিভাইসের MCS এবং TBS-এর সাথে কানেক্ট করতে হবে। সেন্ট্রাল ডিভাইস সবসময় স্ট্রিমিং রুট হিসেবে LE অডিও ব্যবহার নাও করতে পারে কারণ এটি A2DP বা HFP ব্যবহার করার জন্য ফলব্যাক করতে পারে। সেন্ট্রাল ডিভাইস স্ট্রিমিংয়ের জন্য LE অডিও ব্যবহার করবে কিনা তা বোঝার জন্য পেরিফেরাল ডিভাইস ASCS ইন্টার্যাকশন ব্যবহার করতে পারে। ASCS ইন্টার্যাকশনের কিছু উদাহরণ হল বিজ্ঞপ্তি পড়া, লেখা ও বিজ্ঞপ্তির জন্য রেজিস্টার করা। |
Auracast ট্রান্সমিটার সংক্রান্ত সাজেশন
এই বিভাগে Auracast ট্রান্সমিটার কনফিগার করার জন্য সাজেশন দেওয়া হয়েছে।
মাঝে মাঝে ব্রডকাস্ট করা
ট্রানজিট টার্মিনালের মতো পাবলিক স্পেসে অডিও ঘোষণা প্রায়ই বিরতি দিয়ে এবং দীর্ঘ সময় নীরবতার পরে করা হয়। ঘোষণার মাঝে ক্রমাগত নীরবতা বা ব্যাকগ্রাউন্ড অডিও স্ট্রিম করলে রিসিভারের পাওয়ার নষ্ট হয় এবং ব্যবহারকারীরা তাদের প্রাথমিক অডিও স্ট্রিম শুনতে পান না, যেমন লোকাল মিডিয়া বা অন্য কোনও অ্যাক্টিভ Auracast স্ট্রিম।
ব্যবহারকারীর অভিজ্ঞতা উন্নত করতে, Android সাজেস্ট করে যে Auracast ট্রান্সমিটারগুলি মাঝে মাঝে ব্রডকাস্ট ম্যানেজ করার জন্য নিম্নলিখিত নির্দেশিকা মেনে চলে।
সংজ্ঞা
- অডিও-অফ-ইন্টারেস্ট: ব্যবহারকারীর জন্য মূল তথ্যমূলক কন্টেন্ট, যেমন গেট বা ট্রেন সংক্রান্ত ঘোষণা।
- ব্যাকগ্রাউন্ড অডিও: অডিও-অফ-ইন্টারেস্টের সময়সীমার মধ্যে ব্যাকগ্রাউন্ডে নীরবতা, স্ট্যাটিক বা অ্যাম্বিয়েন্ট মিউজিক ট্রান্সমিট করা হয়।
- বিরতি সহ ব্রডকাস্ট: এমন ব্রডকাস্ট যা নির্দিষ্ট সময় অন্তর অডিও-অফ-ইন্টারেস্ট এবং ব্যাকগ্রাউন্ড অডিও বা কোনও অডিও না থাকার মধ্যে পরিবর্তন করে।
বিরতি সহ ব্রডকাস্ট শনাক্ত করা
কোনও ব্রডকাস্টকে ইন্টারমিটেন্ট ব্রডকাস্ট হিসেবে চিহ্নিত করতে, ব্রডকাস্টারকে Audio_Active_State মেটাডেটা LTV (দৈর্ঘ্য-ধরন-মান) স্ট্রাকচার [1] দুটি লোকেশনে অন্তর্ভুক্ত করতে হবে:
- BASE স্ট্রাকচার লেভেল ২ মেটাডেটা (পর্যায়ক্রমিক বিজ্ঞাপন) [২]
- পাবলিক ব্রডকাস্ট অ্যানাউন্সমেন্ট মেটাডেটা (এক্সটেন্ডেড বিজ্ঞাপন) [৩]
রিসিভারকে ইন্টারমিটেন্ট ব্রডকাস্ট শনাক্ত করতে এবং স্ট্রিমটি চালানো হবে কিনা তা সিদ্ধান্ত নিতে সাহায্য করার জন্য, ব্রডকাস্টারকে Streaming_Audio_Context মেটাডেটা LTV স্ট্রাকচার [1] সঠিকভাবে সেট করতে হবে।
পছন্দের অডিও শনাক্ত করা
কোনও নির্দিষ্ট সময়ে ইন্টারমিটেন্ট ব্রডকাস্টে অডিও-অফ-ইন্টারেস্ট আছে কিনা তা ডায়নামিকভাবে সিগন্যাল করতে, ট্রান্সমিটার Audio_Active_State মেটাডেটা LTV স্ট্রাকচার ব্যবহার করে।
- BASE স্ট্রাকচার লেভেল ২ মেটাডেটা: 0x01 মান থেকে বোঝা যায় যে সাবগ্রুপে থাকা BIS-এ অডিও-অফ-ইন্টারেস্ট আছে।
- পাবলিক ব্রডকাস্ট অ্যানাউন্সমেন্ট মেটাডেটা: 0x01 ভ্যালু থেকে বোঝা যায় যে BIG-এর মধ্যে অন্তত একটি BIS-এ অডিও-অফ-ইন্টারেস্ট আছে।
Audio_Active_State মেটাডেটা LTV ভ্যালু 0x01-এ সেট করতে হবে, Audio-of-Interest ট্রান্সমিট করার ঠিক আগে, যাতে স্ক্যানিং ডিভাইস পাবলিক ব্রডকাস্ট সোর্সের সাথে সিঙ্ক করতে পারে। বিপরীতভাবে, ট্রান্সমিশন শেষ হওয়ার কিছুক্ষণ পরে এটি 0x00-এ সেট করা উচিত।
স্ট্রিমিং অডিও কনটেক্সট ব্যবহার করা
স্পষ্ট প্রসঙ্গ প্রদান করলে তা Android ফ্রেমওয়ার্ক ও রিসিভ করা ডিভাইসকে ইনকামিং স্ট্রিমকে অগ্রাধিকার দিতে সাহায্য করে। যেমন, কোনও পাবলিক অ্যাড্রেস (PA) সিস্টেম, Streaming_Audio_Context টাইপকে Instructional হিসেবে সেট করতে পারে যাতে কোনও ঘোষণা, রিসিভারের লোকাল মিডিয়া প্লেব্যাককে পরিষ্কারভাবে বাধা দিতে পারে এবং পরে নির্বিঘ্নে তা আবার চালু করতে পারে।
রেফারেন্স
[১] ব্লুটুথ অ্যাসাইন করা নম্বর,
https://www.bluetooth.com/specifications/assigned-numbers/
[২] বেসিক অডিও প্রোফাইল,
https://www.bluetooth.com/specifications/specs/basic-audio-profile-1-0-3/
[৩] পাবলিক ব্রডকাস্ট প্রোফাইল,
https://www.bluetooth.com/specifications/specs/public-broadcast-profile-1-0-2/