ব্লুটুথ লো এনার্জি অডিও (LEA) ব্যবহারকারীদের ব্যাটারির চার্জ খরচ না করেই উচ্চ মানের অডিও উপভোগ করার সুযোগ দেয় এবং বিভিন্ন ব্যবহারের ক্ষেত্রে নির্বিঘ্নে পরিবর্তন করতে সাহায্য করে। অ্যান্ড্রয়েড ১৩ (এপিআই লেভেল ৩৩)-এ LEA-এর জন্য বিল্ট-ইন সাপোর্ট রয়েছে।
LEA সোর্স ডিভাইসের বাজার অংশীদারিত্ব না বাড়া পর্যন্ত বেশিরভাগ LEA হেডসেট ডুয়াল মোড থাকবে। ব্যবহারকারীরা তাদের ডুয়াল মোড হেডসেটে উভয় ট্রান্সপোর্টই পেয়ার এবং সেট আপ করতে সক্ষম হবেন।
ব্যবহারের ক্ষেত্র
আপনি নিম্নলিখিত ব্যবহারের ক্ষেত্রগুলির জন্য LEA সংহত করতে চাইতে পারেন:
অডিও শেয়ার করা: ব্যবহারকারীরা একই সাথে এক বা একাধিক অডিও সিঙ্ক ডিভাইসে একাধিক অডিও স্ট্রিম শেয়ার করতে পারেন। উৎস ডিভাইস এবং সংযুক্ত ডিভাইসগুলোর মধ্যে অডিও সিঙ্ক্রোনাইজ করা হয়।
অডিও সম্প্রচার: ব্যবহারকারীরা বন্ধু ও পরিবারের কাছে অডিও সম্প্রচার করতে পারেন এবং একই সাথে তথ্য, বিনোদন বা সহজলভ্যতার জন্য পাবলিক সম্প্রচারেও যুক্ত হতে পারেন।
LC3 অডিও কোডেক সাপোর্ট: এটি হলো ডিফল্ট অডিও কোডেক এবং এটি A2DP (মিডিয়া)-তে ব্যবহৃত SBC কোডেক ও HFP (ভয়েস)-এ ব্যবহৃত mSBC কোডেককে প্রতিস্থাপন করে। LC3 আরও বেশি কার্যকর, পুনর্বিন্যাসযোগ্য এবং উন্নত মানের।
অডিও স্যাম্পলিং-এর উন্নতি: হেডসেটগুলো মাইক্রোফোন ব্যবহার করার সময়ও উচ্চ আউটপুট অডিও কোয়ালিটি বজায় রাখতে পারে। ব্লুটুথ ক্লাসিক ব্লুটুথ মাইক্রোফোন ব্যবহার করার সময় অডিও কোয়ালিটি কমিয়ে দেয়। BLE অডিও-র মাধ্যমে ইনপুট এবং আউটপুট স্যাম্পলিং ৩২ কিলোহার্টজ পর্যন্ত পৌঁছাতে পারে।
স্টেরিও মাইক্রোফোন: স্থানিক অডিও উন্নত করার জন্য হিয়ারেবল ডিভাইসগুলো স্টেরিও মাইক্রোফোনের সাহায্যে অডিও রেকর্ড করতে পারে।
হিয়ারিং এইড প্রোফাইল (HAP) সাপোর্ট: HAP পূর্ববর্তী ASHA প্রোটোকলের তুলনায় ব্যবহারকারীদের জন্য অধিকতর সহজলভ্যতা এবং ব্যবহারের সুবিধা প্রদান করে। ব্যবহারকারীরা তাদের হিয়ারিং এইড ফোন কল এবং VoIP অ্যাপ্লিকেশনের জন্য ব্যবহার করতে পারেন।
এনহ্যান্সড অ্যাট্রিবিউট প্রোটোকল (EATT) সাপোর্ট: EATT ডেভেলপারদের পেয়ার করা হিয়ারেবল ডিভাইসগুলোতে একই সাথে একাধিক কমান্ড পাঠাতে দেয়।
মূল পরিস্থিতি
ব্যবহারের ক্ষেত্রগুলোর চারটি প্রধান শ্রেণিবিভাগ রয়েছে:
কথোপকথনমূলক: যে সমস্ত ডায়ালার এবং ভিওআইপি অ্যাপ্লিকেশনে স্বল্প-বিলম্বের যোগাযোগ রাউটিং প্রয়োজন হয়, সেগুলি উচ্চ মানের অডিও প্রদান করে এবং ব্যাটারির ব্যবহার কমায়।
গেমিং: একই সাথে মাইক্রোফোন এবং হাই-ফিডেলিটি প্লেব্যাকের মাধ্যমে গেমগুলো হিয়ারেবল ডিভাইসে উচ্চ মানের অডিও স্ট্রিম করতে পারে। যখন কোনো গেম ব্লুটুথ মাইক্রোফোনকে ব্যবহারের জন্য প্রস্তুত করে, তখন গেমিং অ্যাপটি BLE অডিও ইনপুট অ্যাক্সেস করতে পারে। এরপর, যখন কোনো প্লেয়ার অন্য কোনো প্লেয়ারের সাথে লাইভ কথোপকথন শুরু করে, তখন গেম অ্যাপটি কোনো বিলম্ব ছাড়াই মাইক্রোফোনের ডেটা ব্যবহার করতে পারে।
মিডিয়া: মিডিয়া অ্যাপ্লিকেশনগুলোকে অডিও ম্যানেজারের পছন্দের ডিভাইস সেট করার অনুমতি দেওয়া হয়। ব্যবহারকারী সিস্টেমের সেটিংস থেকে নিজের পছন্দের ডিভাইস পরিবর্তন করে এটি অগ্রাহ্য করতে পারেন।
অভিগম্যতা: BLE অডিও সমর্থনকারী হিয়ারিং এইডগুলো এখন মাইক্রোফোন ব্যবহার করতে পারে, ফলে ব্যবহারকারীরা একটানা কলের জন্য তাদের হিয়ারিং এইড ব্যবহার করতে পারেন।
BLE অডিও এপিআই এবং পদ্ধতি
BLE অডিও হিয়ারেবল সমর্থন করার জন্য নিম্নলিখিত API এবং মেথডগুলো প্রয়োজন:
অডিওম্যানেজার
-
setCommunicationDevice()যোগাযোগের ক্ষেত্রে, যেমন ভয়েস বা ভিডিও কলের জন্য, ব্যবহৃত অডিও ডিভাইসটি নির্বাচন করে। ভয়েস বা ভিডিও চ্যাট অ্যাপ্লিকেশনগুলো প্ল্যাটফর্মের ডিফল্টভাবে নির্বাচিত ডিভাইসটি ছাড়া অন্য একটি অডিও ডিভাইস নির্বাচন করতে এই পদ্ধতিটি ব্যবহার করতে পারে। এই API-টি নিম্নলিখিত অপ্রচলিত API-গুলোকে প্রতিস্থাপন করে:startBluetoothSco(),stopBluetoothSco(), এবংsetSpeakerphoneOn()। - আপনার অ্যাপ কোনো কল বা সেশন শেষ করার পর
clearCommunicationDevice()কল করা হয়, যাতে ব্যবহারকারী বিভিন্ন অ্যাপ্লিকেশনের মধ্যে যাতায়াতের সময় একটি চমৎকার অভিজ্ঞতা লাভ করেন।
ব্লুটুথ প্রোফাইল
-
BluetoothLeAudioপ্রক্সি অবজেক্টের মাধ্যমে ব্লুটুথ পরিষেবা নিয়ন্ত্রণ করে।
টেলিকম ইনকল পরিষেবা
-
InCallService#requestCallEndpointChange()ফাংশনটি অপ্রচলিতInCallService.setAudioRoute()এবংInCallService.requestBluetoothAudio()API-গুলোকে প্রতিস্থাপন করে, যাতে অ্যাপগুলো একটি নির্দিষ্টCallEndpointএ অডিও রাউটিংয়ের জন্য অনুরোধ করতে পারে। পরিবর্তনের অনুরোধ করার সময় ক্লায়েন্টদের নিজস্বCallEndpointনির্ধারণ করা উচিত নয়। এর পরিবর্তে, নতুন এন্ডপয়েন্টটিInCallService.onAvailableCallEndpointsChanged(java.util.List)দ্বারা প্রদত্ত বৈধ এন্ডপয়েন্টগুলোর মধ্যে একটি হওয়া উচিত। -
CallEndpoint.TYPE_BLUETOOTHব্লুটুথের মাধ্যমে অডিও স্ট্রিমকে পরিচালিত করে। - এই পূর্বোল্লিখিত
InCallServiceAPI-গুলো অ্যান্ড্রয়েড ফোনের ডিফল্ট ফোন অ্যাপ, অথবা পরিধানযোগ্য ডিভাইস, গাড়ি বা অন্যান্য ব্লুটুথ ডিভাইসের মতো কল করার অন্যান্য মাধ্যম দ্বারা ব্যবহারের জন্য ডিজাইন করা হয়েছে, যেগুলো অডিও রাউটিংকে প্রভাবিত করতে চাইতে পারে।
টেলিকম কল কন্ট্রোল
- শুধুমাত্র ভিওআইপি (VoIP) অ্যাপ্লিকেশনগুলির জন্য
ConnectionএবংConnectionServiceপ্রতিস্থাপন করতে এপিআই (API) লেভেল ৩৪- এ নতুনCallControlক্লাসটি চালু করা হয়েছে। -
CallControl.requestCallEndpointChange()একটিCallEndpointপরিবর্তনের জন্যও অনুরোধ করে। এই API-টি অপ্রচলিতConnection.requestBluetoothAudio()এবংConnection.setAudioRoute()API-গুলোর স্থলাভিষিক্ত হয়েছে। - আপডেট করা টেলিকম প্ল্যাটফর্ম এপিআই-গুলোর পাশাপাশি, ভয়েস এবং/অথবা ভিডিও কলিং অ্যাপ্লিকেশন তৈরির ক্ষেত্রে টেলিকম জেটপ্যাক লাইব্রেরিটি ব্যবহারের জন্য বিশেষভাবে সুপারিশ করা হয়। এই লাইব্রেরিটি ইন্টিগ্রেশন প্রক্রিয়াকে ব্যাপকভাবে সহজ করতে পারে এবং সমস্ত অ্যান্ড্রয়েড প্ল্যাটফর্মে ভিওআইপি কলিংয়ের মান উন্নত করতে পারে।
অডিও ডিভাইসের তথ্য
-
AudioDeviceInfo.TYPE_BLE_HEADSETঅডিও ডিভাইসের ধরণকে একটি LEA ডিভাইস হিসেবে বর্ণনা করে। শ্রবণযোগ্য ডিভাইসটি একটি LEA ডিভাইস কিনা তা শনাক্ত করতে এটি ব্যবহৃত হয়।
অডিও রেকর্ডার
-
setPreferredDevice()অডিও রাউটিংয়ের জন্য পছন্দের ডিভাইস নির্ধারণ করে। ব্যবহারকারী সিস্টেম সেটিংসে এটি পরিবর্তন করতে পারেন।
ব্লুটুথ অ্যাডাপ্টার
-
isLeAudioSupported(): ডিভাইস হার্ডওয়্যারটি LE Audio সমর্থন করে কিনা তা নির্দেশ করে একটি@BluetoothStatusCodesকনস্ট্যান্ট (FEATURE_SUPPORTED,FEATURE_NOT_SUPPORTED, অথবা একটি এরর কোড) রিটার্ন করে। -
isLeAudioBroadcastSourceSupported(): ডিভাইস হার্ডওয়্যারটি LE Audio ব্রডকাস্ট সোর্স সমর্থন করে কিনা তা নির্দেশ করে একটি@BluetoothStatusCodesকনস্ট্যান্ট (FEATURE_SUPPORTED,FEATURE_NOT_SUPPORTED, অথবা একটি এরর কোড) রিটার্ন করে।
ব্যবহারের ক্ষেত্রের উপর ভিত্তি করে নির্দেশিকা
নির্দিষ্ট ব্যবহারের ক্ষেত্রগুলোর ওপর ভিত্তি করে LEA বাস্তবায়নের জন্য নির্দেশিকা নিচে দেওয়া হলো।
ভয়েস কমিউনিকেশন অ্যাপ্লিকেশন
ভয়েস কমিউনিকেশন অ্যাপ্লিকেশনগুলো অডিও রাউটিং এবং ডিভাইসের অবস্থা নিজেরাই পরিচালনা করতে পারে, অথবা টেলিকম এপিআই ব্যবহার করতে পারে, যা আপনার জন্য অডিও রাউটিং এবং অবস্থার লজিকটি সম্পাদন করে।
স্ব-পরিচালিত: যে অ্যাপ্লিকেশনগুলি বর্তমানে
startBluetoothSco(),stopBluetoothSco(), এবংsetSpeakerphoneOn()ব্যবহার করছে অথবা অডিও রাউটিং অবস্থা স্ব-পরিচালনা করতে চায়, তারা অডিও ম্যানেজার স্ব-পরিচালিত কল নির্দেশিকা অনুসরণ করুন।পরিচালিত: একটি অডিও বা ভিডিও কলিং অ্যাপ্লিকেশন তৈরি করতে টেলিকম জেটপ্যাক লাইব্রেরি অথবা টেলিকম প্ল্যাটফর্ম এপিআই ব্যবহার করুন।
এই দুটি সমাধান আপনাকে দ্রুত ও সহজে অডিও রাউটিং নিয়ন্ত্রণ করতে এবং ব্লুটুথ ডিভাইসগুলির মধ্যে পরিবর্তন করতে সাহায্য করে। আরও তথ্যের জন্য, টেলিকম পরিচালিত কল নির্দেশিকা দেখুন।
অডিও রেকর্ডিং অ্যাপ্লিকেশন
- মিডিয়া রেকর্ডার: মিডিয়া রেকর্ডার ব্যবহার করে অডিও রেকর্ড করার সময়, আপনার ব্লুটুথ হিয়ারেবলটি যদি LEA সাপোর্ট করে, তবে আপনি এখন স্টেরিওতে রেকর্ড করতে পারবেন। অডিও রেকর্ডিং গাইডটি দেখুন।
LE অডিও (LEA) হেডসেট সুপারিশ
আরও LEA হেডসেট বাজারে আসার সাথে সাথে, আমরা বাস্তব পরীক্ষার সময় এমন কিছু সমস্যা খুঁজে পেয়েছি যা ব্যবহারকারীর অভিজ্ঞতাকে খারাপ করে দেয়। স্পেসিফিকেশনে এই সমস্ত সমস্যার উল্লেখ নেই। অ্যান্ড্রয়েড ব্যবহারকারীদের জন্য সামগ্রিক অভিজ্ঞতা উন্নত করতে LEA হেডসেট প্রস্তুতকারকদের যে সুপারিশগুলো অনুসরণ করা উচিত, তার একটি তালিকা নিচের সারণিতে দেওয়া হলো।
| বর্ণনা | প্রেক্ষাপট |
|---|---|
ডুয়াল-মোড হেডসেটের জন্য ক্রস ট্রান্সপোর্ট কী ডেরিভেশন (CTKD) সমর্থন:
| LEA সোর্স ডিভাইসের বাজার অংশীদারিত্ব না বাড়া পর্যন্ত বেশিরভাগ নতুন LEA হেডসেট ডুয়াল-মোড হবে। ব্যবহারকারীরা যেন তাদের ডুয়াল-মোড হেডসেটগুলো নির্বিঘ্নে পেয়ার করতে এবং উভয় ট্রান্সপোর্ট সেট আপ করতে পারেন, তা নিশ্চিত করা জরুরি। গুগল ফাস্ট পেয়ারের জন্যও এটি গুরুত্বপূর্ণ। |
আপনার LEA হেডসেটগুলো যাতে উৎস ডিভাইসগুলোর সাথে নির্ভরযোগ্যভাবে পুনরায় সংযোগ স্থাপন করতে পারে, তার জন্য টার্গেটেড অ্যানাউন্সমেন্ট (TA) সমর্থন করুন। LE অডিও ইয়ারবাডগুলোকে কেন্দ্রীয় ডিভাইসগুলো থেকে আগত সংযোগের অনুরোধ জানাতে TA ব্যবহার করা উচিত। আসন্ন বিটি এসআইজি-তে যোগ করা হবে। | BR/EDR-এর পেজিং মডেলের বিপরীতে, যেখানে ফোন বা হেডসেট যেকোনোটি থেকেই সংযোগ শুরু করা যায়, LEA-তে একটি সংযোগ অবশ্যই কেন্দ্রীয় ডিভাইস থেকে শুরু করতে হয়। বর্তমানে, অনেক হেডসেট TA ব্যবহার করে না, যার অর্থ হলো, কেন্দ্রীয় ডিভাইসটি কোনো পেরিফেরালকে Allowlist-এ যুক্ত না করে সেটির সাথে পুনরায় সংযোগ স্থাপন করতে সক্ষম নাও হতে পারে। তবে, Allowlist-এর একটি বিকল্প ব্যবস্থা হেডসেটটিকে অন্য কোনো কেন্দ্রীয় ডিভাইসের সাথে সংযোগ স্থাপন করা থেকে আটকাতে পারে। তাই, LEA হেডসেটগুলোর জন্য TA-কে সঠিকভাবে সমর্থন করা গুরুত্বপূর্ণ, যাতে কেন্দ্রীয় ডিভাইসটি এমন কোনো বিকল্প ব্যবস্থা ছাড়াই নির্ভরযোগ্যভাবে পুনরায় সংযোগ স্থাপন করতে পারে যা মাল্টি-পয়েন্ট সংযোগগুলো ভেঙে দিতে পারে। |
ডুয়াল মোড ইয়ারবাডগুলির জন্য অপ্টিমাইজ করা আবিষ্কারযোগ্যতা
| এর ফলে ডুয়াল-মোড LEA ইয়ারবাডগুলো ব্লুটুথ সেটিংসে ডুপ্লিকেট এন্ট্রি হিসেবে প্রদর্শিত হয় না, যা ব্যবহারকারীদের বিভ্রান্ত করতে পারে এবং LEA পেয়ারিং অভিজ্ঞতাকে ব্যাহত করতে পারে। পর্যায়ক্রমে পেয়ার করা হয় এমন ডুয়াল-মোড ডিভাইসগুলোর জন্য ডাইনামিক লিডার ইলেকশন বিশেষভাবে গুরুত্বপূর্ণ। উদাহরণস্বরূপ, প্রাথমিক পেয়ারিংয়ের সময় যদি কেবল একটি ইয়ারবাড উপলব্ধ থাকে, তবে সেটিকে একটি ডুয়াল-মোড ডিভাইস হিসেবে উপস্থাপন করা উচিত। পরবর্তীতে যখন কোনো ব্যবহারকারী দ্বিতীয় ইয়ারবাডটি পেয়ার করেন, তখন তাদের কেবল LE কম্পোনেন্টের সাথেই পেয়ার করতে হবে, এবং CSIP নিশ্চিত করবে যে অ্যান্ড্রয়েডে সেগুলোকে একসাথে গ্রুপ করা হয়েছে। পেয়ারিং করার সময় আইডেন্টিটি অ্যাড্রেস ব্যবহার করার পরামর্শ দেওয়া হয়, কারণ BR/EDR কম্পোনেন্টটি আগে থেকেই কাছাকাছি থাকা ডিভাইসগুলোর কাছে ডিভাইসটির পাবলিক অ্যাড্রেস প্রকাশ করে দেয়। |
| এনহ্যান্সড অ্যাট্রিবিউট প্রোটোকল (EATT) সমর্থন করে। | পেয়ারিং এবং সংযোগের বিলম্ব কমায়। |
| শক্তিশালী GATT ক্যাশিং সমর্থন করে। | সংযোগের বিলম্ব কমায়, বিশেষ করে TWS বাডের ক্ষেত্রে। |
| সমর্থন সংযোগ বিয়োগ । | এর ফলে আরও নমনীয় প্যাকেট শিডিউলিং এবং সম্ভাব্য ব্যাটারি সাশ্রয় করা যায়। |
| নিশ্চিত করুন যে প্লেব্যাক এবং ক্যাপচার উভয়ের প্রি- এবং পোস্ট-প্রসেসিং চলাকালীন, সিগন্যাল প্রসেসিং পাইপলাইনটি ১৬, ২৪, ৩২, এবং ৪৮ কিলোহার্টজ-এ কাজ করার পাশাপাশি উচ্চতর ফ্রিকোয়েন্সিও সমর্থন করতে পারে । | LEA কল বা VoIP ক্যাপচার পাথ এবং মিডিয়া প্লেব্যাকের জন্য সমর্থিত উচ্চতর স্যাম্পলিং রেটের সুবিধা গ্রহণ করে। |
| LE পাওয়ার কন্ট্রোল সমর্থন করে | উন্নত বিদ্যুৎ ব্যবস্থাপনা |
প্রসঙ্গ প্রকার সমর্থন
| বর্ণনা | প্রেক্ষাপট |
|---|---|
| অ্যাসাইনড নাম্বার ৬.১২.৩- এ উল্লেখিত সমস্ত কনটেক্সট টাইপ ব্যবহার করুন, যদি না হেডসেটটি স্পষ্টভাবে কোনো নির্দিষ্ট কনটেক্সট টাইপ সমর্থন না করে। | উদাহরণস্বরূপ, যদি "Game" কনটেক্সট টাইপটি সমর্থিত না হয়, তাহলে অ্যান্ড্রয়েড গেমের সাউন্ড পাঠাবে। বিশেষ করে, মনে রাখবেন যে "Unspecified" কনটেক্সট টাইপ বলতে "যেকোনো কনটেক্সট টাইপ" বোঝায় না এবং এটি অসমর্থিত কনটেক্সট টাইপগুলোকে অন্তর্ভুক্ত করে না। |
যখন কেন্দ্রীয় ডিভাইসটি পেরিফেরাল ডিভাইসের ASCS-এর সাথে যোগাযোগ করে, তখন পেরিফেরালটিকে অবশ্যই কেন্দ্রীয় ডিভাইসের MCS এবং TBS-এর সাথে সংযুক্ত হতে হবে। কেন্দ্রীয় ডিভাইসটি স্ট্রিমিং রুট হিসেবে সবসময় LE অডিও ব্যবহার নাও করতে পারে, কারণ এটি A2DP বা HFP ব্যবহার করার জন্য ফিরে যেতে পারে। কেন্দ্রীয় ডিভাইসটি স্ট্রিমিংয়ের জন্য LE অডিও ব্যবহার করবে কি না, তার ইঙ্গিত হিসেবে পেরিফেরাল ডিভাইসটি ASCS ইন্টারঅ্যাকশন ব্যবহার করতে পারে। ASCS ইন্টারঅ্যাকশনের কয়েকটি উদাহরণ হলো রিড, রাইট এবং নোটিফিকেশনের জন্য রেজিস্টার করা। |