از طریق بلوتوث، دستگاهها میتوانند دادههایی را منتقل کنند که میتوانند برای سرویسهای تعاملی مانند صدا، پیامرسانی و تلفن استفاده شوند. میتوانید پروفایلهای بلوتوث مورد استفاده برای سرویسهای مختلف را در include/hardware/bluetooth.h پیدا کنید.
صوتی
اتصال بلوتوث به کاربران امکان میدهد صدا را روی دستگاههای دارای بلوتوث پخش کنند. در بیشتر موارد استفاده از صدا، دستگاه اندروید منبع و دستگاه رندر، مانند بلندگو یا هدست، گیرنده است.
کنترل کامل صدا
در اندروید ۶.۰ و بالاتر، پشته بلوتوث اندروید به منبع اجازه میدهد تا یک حجم صدای مطلق تنظیم کند و به کاربران امکان کنترل دقیق بر حجم صدا را میدهد. دستگاه منبع، اطلاعات صدا و حجم صدای بدون تضعیف را به گیرنده ارسال میکند. سپس گیرنده صدا را بر اساس اطلاعات حجم صدا تقویت میکند، بنابراین کاربران حجم پخش دقیقی را میشنوند.
دستگاه منبع همچنین میتواند اعلانهای مربوط به میزان صدا را ثبت کند. هنگامی که تغییرات صدا با کنترلهای روی سینک انجام میشود، سینک یک اعلان به منبع ارسال میکند. این به منبع اجازه میدهد تا اطلاعات مربوط به میزان صدا را به طور دقیق در رابط کاربری نمایش دهد.
کنترل مطلق صدا به طور پیشفرض فعال است. کاربر میتواند با کلیک روی گزینه غیرفعال کردن حجم مطلق صدا در موقعیت فعال، کنترل مطلق صدا را در تنظیمات > سیستم > گزینههای توسعهدهندگان غیرفعال کند.
کدکهای صوتی پیشرفته
در اندروید ۸.۰، دستگاههایی که از پروفایل توزیع صدای پیشرفته (A2DP) استفاده میکنند، میتوانند از کدکهای صوتی اضافی پشتیبانی کنند. پشته بلوتوث از مذاکره کدکهای صوتی برای زمانی که دستگاهها به یک سینک صوتی از راه دور متصل میشوند، پشتیبانی میکند. این مذاکره بهترین کدک پشتیبانی شده توسط فرستنده و سینک را برای ارائه صدای با کیفیت بالا انتخاب میکند. پس از انتخاب، دستگاه تمام صدا را از طریق رمزگذار انتخاب شده هدایت میکند و سپس آن را به سینک ارسال میکند.
پیادهسازی
دستگاههایی که از اندروید ۸.۰ پشتیبانی میکنند و از A2DP پشتیبانی میکنند، بهطور خودکار از کدکهای اضافی پشتیبانی میکنند. تولیدکنندگان دستگاه ممکن است برای برخی از کدکهای صوتی اختصاصی، نیاز به دریافت مجوزهای جداگانه و فایلهای باینری داشته باشند. علاوه بر SBC، اندروید ۸.۰ از کدکهای زیر نیز پشتیبانی میکند:
- آآک
- aptX
- اچدی با aptX
- LDAC
تولیدکنندگان دستگاه میتوانند انتخاب کنند که دستگاههایشان ابتدا از کدام کدکها استفاده کنند. اولویتهای کدک را با تغییر مقادیر زیر در res/values/config.xml تنظیم کنید:
<!-- Configuring priorities of A2DP source codecs. Larger value means
higher priority. Value -1 means the codec is disabled.
Value 0 is reserved and should not be used here. Enabled codecs
should have priorities in the interval [1, 999999], and each
priority value should be unique. -->
<integer name="a2dp_source_codec_priority_sbc">1001</integer>
<integer name="a2dp_source_codec_priority_aac">2001</integer>
<integer name="a2dp_source_codec_priority_aptx">3001</integer>
<integer name="a2dp_source_codec_priority_aptx_hd">4001</integer>
<integer name="a2dp_source_codec_priority_ldac">5001</integer>
گواهینامه LDAC
پروژه متنباز اندروید (AOSP) شامل یک رمزگذار برای کدک LDAC سونی است، بنابراین نیازی به مجوز یا blob جداگانه از سونی برای آن نیست. برای ادغام کدک LDAC در دستگاه خود، در سونی ثبتنام کنید و فرآیند صدور گواهینامه LDAC را دنبال کنید.
وبسایت صدور گواهینامه LDAC دارای اسنادی در مورد LDAC، مانند کتابچههای راهنمای مشخصات و عملکرد است. سایت LDAC همچنین آزمونهای اعتبارسنجی و قابلیت همکاری را برای دستگاههای تلفن همراه و تبلت ارائه میدهد. نتایج قبولی در آزمون را برای تکمیل گواهینامه LDAC به سونی ارسال کنید.
ویژگیهای رابط کاربری
اندروید ۸.۰ علاوه بر پشتیبانی از کدکهای اضافی، تنظیماتی را برای غیرفعال کردن کدکهای صوتی بلوتوث با کیفیت بالا (HD) در اختیار کاربر قرار میدهد. کاربر میتواند با رفتن به تنظیمات > دستگاههای متصل > بلوتوث ، ضربه زدن روی نماد چرخدنده کنار سینک و برداشتن تیک گزینه HD Audio ، کدکهای HD را غیرفعال کند.
تولیدکنندگان دستگاههایی که تنظیمات را سفارشی میکنند، باید راهی برای غیرفعال کردن کدکهای HD برای کاربران تعبیه کنند.
پیامرسانی
پیامرسانی از طریق بلوتوث به کاربران امکان میدهد پیامهای کوتاه (SMS) را از یک دستگاه از راه دور بخوانند، مرور کنند و بنویسند. کاربران اغلب هنگام اتصال تلفن به سیستم سرگرمی داخل خودرو از این قابلیت استفاده میکنند.
تلفن
سرویسهای تلفن بلوتوث به کاربران امکان میدهند تماسها را پخش کنند و مخاطبین را از یک تلفن به دستگاه بلوتوث دیگر همگامسازی کنند. کاربران اغلب هنگام رانندگی از این ویژگیها برای تماسهای هندزفری استفاده میکنند.
در اندروید ۸.۰، بلوتوث از آهنگ زنگ درون باند پشتیبانی میکند. وقتی تلفنی که از طریق بلوتوث متصل است، تماس ورودی دریافت میکند، آهنگ زنگ در سینک پخش میشود. آهنگ زنگ درون باند را در تنظیمات > سیستم > گزینههای توسعهدهندگان با کلیک روی فعال کردن گزینه فعال کردن زنگ درون باند به حالت روشن، فعال کنید.
ویژگیهای بلوتوث
برای پیادهسازی سرویسهای بلوتوث، پشته بلوتوث از پروفایلها و ویژگیهای متنوعی پشتیبانی میکند.
پروفایلهای بلوتوث
این پروفایلها برای بلوتوث در دسترس هستند:
| ویژگی | نسخه اندروید | |||||
|---|---|---|---|---|---|---|
| نام | توضیحات | ۶.۰ | ۷.۰ | ۷.۱ | ۷.۱.۲ | ۸.۰ |
| سپ | پروفایل دسترسی به سیمکارت | ۱.۱ | ۱.۱ | ۱.۱ | ۱.۱ | ۱.۱ |
| نقشه | نمایه دسترسی به پیام برای پیامک | ۱.۲ | ۱.۲ | ۱.۲ | ۱.۲ | ۱.۲ |
| او پی پی | نمایه فشار شیء | ۱.۱ | ۱.۱ | ۱.۱ | ۱.۱ | ۱.۲ |
| OBEX روی L2CAP | تبادل شیء روی پروتکل کنترل و تطبیق لینک منطقی | بله | بله | بله | بله | بله |
| دروازه صوتی HFP | پروفایل هندزفری | ۱.۶ | ۱.۶ | ۱.۷ | ۱.۷ | ۱.۷ |
| اچ اس پی | مشخصات هدست | ۱.۲ | ۱.۲ | ۱.۲ | ۱.۲ | ۱.۲ |
| A2DP | پروفایل توزیع صوتی پیشرفته | ۱.۲ | ۱.۲ | ۱.۲ | ۱.۲ | ۱.۲ |
| AVRCP | پروفایل کنترل از راه دور صوتی/تصویری | ۱.۳ | ۱.۳ | ۱.۳ | ۱.۳ | ۱.۴ |
| مخفی | مشخصات دستگاه رابط انسانی | ۱.۰ | ۱.۰ | ۱.۰ | ۱.۰ | ۱.۰ |
| پیبیاِیپی | پروفایل دسترسی به دفترچه تلفن | ۱.۱.۱ | ۱.۱.۱ | ۱.۱.۱ | ۱.۱.۱ | ۱.۲ |
| اچ دی پی | مشخصات دستگاه سلامت | ۱.۰ | ۱.۰ | ۱.۱ | ۱.۱ | ۱.۱ |
| اس پی پی | مشخصات پورت سریال | ۱.۲ | ۱.۲ | ۱.۲ | ۱.۲ | ۱.۲ |
| پان / بی ان ای پی | پروفایل شبکه شخصی / پروتکل کپسولهسازی شبکه بلوتوث | ۱.۰ | ۱.۰ | ۱.۰ | ۱.۰ | ۱.۰ |
| دیپ | نمایه شناسه دستگاه | ۱.۳ | ۱.۳ | ۱.۳ | ۱.۳ | ۱.۳ |
| هو جی پی ۱.۰ | HID روی GATT | بله | بله | بله | بله | بله |
| صدای اچدی | به بخش کدکهای صوتی پیشرفته مراجعه کنید. پیادهسازی به قابلیتهای دستگاه، چه در منبع و چه در گیرنده، بستگی دارد. | خیر | خیر | خیر | خیر | بله |
ویژگیهای بلوتوث کممصرف
این ویژگیها برای BLE در دسترس هستند:
| ویژگی | نسخه اندروید | ||||
|---|---|---|---|---|---|
| نام | ۶.۰ | ۷.۰ | ۷.۱ | ۷.۱.۲ | ۸.۰ |
| اتصالات امن BR/EDR | ۴.۱ | ۴.۱ | ۴.۱ | ۴.۱ | ۵.۰ |
| حریم خصوصی LE | ۴.۲ | ۴.۲ | ۴.۲ | ۴.۲ | ۵.۰ |
| اتصالات امن LE | ۴.۲ | ۴.۲ | ۴.۲ | ۴.۲ | ۵.۰ |
| افزونههای بسته داده | ۴.۲ | ۴.۲ | ۴.۲ | ۴.۲ | ۵.۰ |
| UUID های ۳۲ بیتی | بله | بله | بله | بله | بله |
| حالت دوگانه LE مرکزی/محیطی | بله | بله | بله | بله | بله |
| حالت جانبی LE | بله | بله | بله | بله | بله |
| الزامات HCI گوگل | بله | بله | بله | بله | بله |
| کانالهای اتصالگرای LE | خیر | خیر | خیر | خیر | خیر |