ব্লুটুথ লো এনার্জি অডিও

ব্লুটুথ লো এনার্জি অডিও (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 ডেভেলপারদের পেয়ার করা হিয়ারেবল ডিভাইসে একসাথে একাধিক কমান্ড পাঠানোর অনুমতি দেয়।

গুরুত্বপূর্ণ পরিস্থিতি

ব্যবহারের ক্ষেত্রে চারটি প্রধান বিভাগ আছে:

  1. কথোপকথনমূলক: ডায়ালার এবং VoIP অ্যাপ্লিকেশন যেগুলির জন্য কম-লেটেন্সি কমিউনিকেশন রাউটিং প্রয়োজন সেগুলি খুব ভাল কোয়ালিটির অডিও এবং কম ব্যাটারি ব্যবহার অফার করে।

  2. গেমিং: কনকারেন্ট মাইক্রোফোন ও হাই ফিডেলিটি প্লেব্যাকের মাধ্যমে গেম থেকে হিয়ারেবল ডিভাইসে খুব ভাল কোয়ালিটির অডিও স্ট্রিম করা যায়। কোনও গেম ব্লুটুথ মাইক্রোফোনকে ব্যবহারের জন্য প্রস্তুত হিসেবে সেট করলে, গেমিং অ্যাপ BLE অডিও ইনপুট অ্যাক্সেস করতে পারে। তারপর, কোনও প্লেয়ার অন্য প্লেয়ারের সাথে লাইভ কথোপকথন শুরু করলে, গেম অ্যাপ কোনও দেরি না করেই মাইক্রোফোন ডেটা ব্যবহার করতে পারে।

  3. মিডিয়া: মিডিয়া অ্যাপ্লিকেশনকে অডিও ম্যানেজারের পছন্দসই ডিভাইস সেট করার অনুমতি দেওয়া হয়। ব্যবহারকারী সিস্টেমের সেটিংস থেকে তার পছন্দের ডিভাইস পরিবর্তন করে এটি ওভাররাইড করতে পারেন।

  4. অ্যাক্সেসিবিলিটি: 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 ব্লুটুথের মাধ্যমে অডিও স্ট্রিম পরিচালনা করে।
  • এইসব InCallService API এমনভাবে ডিজাইন করা হয়েছে যাতে Android ফোনে ডিফল্ট ফোন অ্যাপ অথবা হালকা ও ছোট ডিভাইস, অটোমোবাইল বা অন্যান্য ব্লুটুথ ডিভাইসের মতো অন্যান্য কলিং সারফেস ব্যবহার করতে পারে, যা অডিও রাউটিংকে প্রভাবিত করতে পারে।

Telecom CallControl

  • Connection এবং ConnectionService-এর পরিবর্তে শুধুমাত্র VoIP অ্যাপ্লিকেশনের জন্য API লেভেল ৩৪-এ নতুন CallControl ক্লাস চালু করা হয়েছে।
  • CallControl.requestCallEndpointChange() এছাড়াও CallEndpoint পরিবর্তনের অনুরোধ করে। এই API, বন্ধ হয়ে যাওয়া Connection.requestBluetoothAudio() এবং Connection.setAudioRoute() API-এর পরিবর্তে ব্যবহার করা হয়।
  • আপডেট করা টেলিকম প্ল্যাটফর্ম API ছাড়াও, টেলিকম জেটপ্যাক লাইব্রেরি ভয়েস এবং/অথবা ভিডিও কলিং অ্যাপ্লিকেশন তৈরি করার সময় অত্যন্ত সাজেস্ট করা হয়। এই লাইব্রেরি ইন্টিগ্রেশন প্রসেসকে অনেক সহজ করে তুলতে পারে এবং সমস্ত 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 ব্যবহার করে করতে পারে, যা আপনার জন্য অডিও রাউটিং এবং স্ট্যাটাস লজিক ম্যানেজ করে।

এই দুটি সমাধান আপনাকে দ্রুত এবং সহজেই অডিও রাউটিং নিয়ন্ত্রণ করতে এবং ব্লুটুথ ডিভাইসের মধ্যে সুইচ করতে সাহায্য করে। আরও তথ্যের জন্য, টেলিকম ম্যানেজ করা কল সংক্রান্ত নির্দেশিকা দেখুন।

অডিও রেকর্ডিং অ্যাপ্লিকেশন

  • মিডিয়া রেকর্ডার: মিডিয়া রেকর্ডার ব্যবহার করে অডিও রেকর্ড করার সময়, ব্লুটুথ হিয়ারেবল LEA সাপোর্ট করলে, আপনি এখন স্টেরিওতে রেকর্ড করতে পারবেন। অডিও রেকর্ডিং গাইড চেক করে দেখুন।

হেডসেট সংক্রান্ত সাজেশন

আরও বেশি LEA হেডসেট রিলিজ হওয়ার সাথে সাথে, আমরা রিয়েল-ওয়ার্ল্ড টেস্টিংয়ে সমস্যা খুঁজে পেয়েছি যা ব্যবহারকারীর অভিজ্ঞতাকে খারাপ করে দেয়। স্পেসিফিকেশনে এইসব সমস্যার সবকটি কভার করা হয় না। নিম্নলিখিত সারণীতে LEA হেডসেট প্রস্তুতকারকদের জন্য কিছু সাজেশন দেওয়া হয়েছে, যা অনুসরণ করলে Android ব্যবহারকারীদের এন্ড-টু-এন্ড অভিজ্ঞতা উন্নত হবে।

বর্ণনা প্রসঙ্গ
ডুয়াল-মোড হেডসেটের জন্য ক্রস ট্রান্সপোর্ট কী ডেরিভেশন (CTKD) কাজ করে:
  • Classic-থেকে-LE পেয়ারিং এবং LE-থেকে-Classic পেয়ারিং, উভয়ের জন্যই কী ডেরিভেশন সংক্রান্ত সহায়তা।
LEA সোর্স ডিভাইসের মার্কেট শেয়ার না বাড়া পর্যন্ত বেশিরভাগ নতুন LEA হেডসেট ডুয়াল-মোড হবে। ব্যবহারকারীরা যাতে তাদের ডুয়াল-মোড হেডসেট নির্বিঘ্নে পেয়ার করতে পারেন এবং দুটি ট্রান্সপোর্টই সেট-আপ করতে পারেন তা গুরুত্বপূর্ণ। এটি Google Fast Pair-এর জন্যও গুরুত্বপূর্ণ।

আপনি যদি চান যে আপনার LEA হেডসেট সোর্স ডিভাইসের সাথে নির্ভরযোগ্যভাবে আবার কানেক্ট হোক, তাহলে টার্গেট করা ঘোষণা (TA)-এর জন্য সহায়তা প্রদান করুন।

LE অডিও ইয়ারবাডকে সেন্ট্রাল ডিভাইস থেকে ইনকামিং কানেকশনের অনুরোধ করার জন্য TA ব্যবহার করতে হবে।

আসন্ন BT SIG-তে যোগ করা হবে।

BR/EDR-এর পেজিং মডেলে ফোন বা হেডসেট, যেকোনও একটির মাধ্যমে কানেকশন শুরু করা যায়, কিন্তু LEA-তে কানেকশন শুরু করতে হলে, সেন্ট্রাল ডিভাইসের মাধ্যমে তা করতে হবে। বর্তমানে, অনেক হেডসেট TA ব্যবহার করে না, যার অর্থ হল, সেন্ট্রাল ডিভাইসটি পেরিফেরালকে সাদা তালিকায় যোগ না করে আবার কানেক্ট করতে পারবে না। তবে, সাদা তালিকার সমাধান হেডসেটকে অন্য কোনও সেন্ট্রাল ডিভাইসের সাথে কানেক্ট করা থেকে আটকাতে পারে। তাই, LEA হেডসেটের জন্য TA সঠিকভাবে সাপোর্ট করা গুরুত্বপূর্ণ যাতে সেন্ট্রাল ডিভাইসটি মাল্টি-পয়েন্ট কানেকশন ভেঙে দিতে পারে এমন ওয়ার্কঅ্যারাউন্ড ছাড়াই নির্ভরযোগ্যভাবে আবার কানেক্ট করতে পারে।
ডুয়াল মোড ইয়ারবাডের জন্য অপ্টিমাইজ করা খুঁজে নেওয়ার যোগ্যতা
  • প্রাইমারি ইয়ারবাড - BR/EDR কম্পোনেন্ট-এর উচিত পাবলিক অ্যাড্রেস ব্যবহার করে বিজ্ঞাপন দেখানো এবং EIR-এর মাধ্যমে উপলভ্য নামের সাথে ইনকোয়ারি ও পৃষ্ঠা স্ক্যান চালু করা এবং ডিভাইসের ক্লাস (CoD)-এর মেজর সার্ভিস ক্লাসে LE অডিও বিট ১৪ থেকে ১-এ সেট করা।
  • প্রাইমারি ইয়ারবাড - LE কম্পোনেন্ট: প্রাইমারি ইয়ারবাডকে BR/EDR কম্পোনেন্টের মতো একই পাবলিক অ্যাড্রেস এবং BR/EDR কম্পোনেন্টের মতো একই সম্পূর্ণ স্থানীয় নাম ব্যবহার করে কানেক্ট করা ও খুঁজে নেওয়ার যোগ্য (সীমিত বা সাধারণ) বিজ্ঞাপন পারফর্ম করতে হবে। এর সাথে, এর অ্যাপিয়ারেন্স ক্যাটেগরিকে উপযুক্ত অ্যাপিয়ারেন্স ক্যাটেগরি হিসেবে সেট করতে হবে যা রিমোট ডিভাইসের ধরনের সাথে মেলে। এর থেকে আশা করা হয় যে সেন্ট্রাল ডিভাইস এই তথ্য ব্যবহার করে এর UI এবং অডিও রাউটিং নীতি অ্যাডজাস্ট করবে।
  • সেকেন্ডারি ইয়ারবাড - শুধু LE: সেকেন্ডারি ইয়ারবাডকে কানেক্ট করা যায় এমন, খুঁজে পাওয়া যায় না এমন বিজ্ঞাপন দেখাতে হবে যার অ্যাপিয়ারেন্স ক্যাটেগরি উপযুক্ত অ্যাপিয়ারেন্স ক্যাটেগরি হিসেবে সেট করা থাকবে যা রিমোট ডিভাইসের ধরনের সাথে ম্যাচ করে, এই প্রত্যাশা সহ যে সেন্ট্রাল ডিভাইস এই তথ্য ব্যবহার করে তার UI ও অডিও রাউটিং নীতি অ্যাডজাস্ট করবে

    ইয়ারবাডকে CSIP গ্রুপ থেকে ডায়নামিক পদ্ধতিতে একটি লিডার বেছে নিতে হবে যাতে সেটি প্রাথমিক ডিভাইস হিসেবে কাজ করতে পারে। ইয়ারবাড ডুয়াল মোড হলে, পেয়ার করার পরে LE ও ক্লাসিক কার্যকারিতা সঠিকভাবে কাজ করছে কিনা তা নিশ্চিত করতে প্রাইমারি ডিভাইস ডুয়াল মোড হতে হবে।

এটি ডুয়াল-মোড 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 স্ট্রাকচার লেভেল ২ মেটাডেটা (পর্যায়ক্রমিক বিজ্ঞাপন) [২]
  2. পাবলিক ব্রডকাস্ট অ্যানাউন্সমেন্ট মেটাডেটা (এক্সটেন্ডেড বিজ্ঞাপন) [৩]

রিসিভারকে ইন্টারমিটেন্ট ব্রডকাস্ট শনাক্ত করতে এবং স্ট্রিমটি চালানো হবে কিনা তা সিদ্ধান্ত নিতে সাহায্য করার জন্য, ব্রডকাস্টারকে 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/