خدمات بلوتوث

از طریق بلوتوث، دستگاه‌ها می‌توانند داده‌هایی را منتقل کنند که می‌توانند برای خدمات تعاملی مانند صدا، پیام‌رسانی و تلفن استفاده شوند. پروفایل های بلوتوث مورد استفاده برای سرویس های مختلف را می توان در include/hardware/bluetooth.h یافت.

صوتی

اتصال بلوتوث به کاربران امکان می دهد صدا را در دستگاه های دارای بلوتوث پخش کنند. برای اکثر موارد استفاده صوتی، دستگاه Android منبع است و دستگاه رندر مانند بلندگو یا هدست، سینک است.

کنترل مطلق صدا

در اندروید 6.0 و جدیدتر، پشته بلوتوث اندروید به منبع اجازه می‌دهد تا میزان صدای مطلق را تنظیم کند و به کاربران امکان کنترل دقیق روی میزان صدا را می‌دهد. دستگاه مبدأ اطلاعات صوتی و حجمی ضعیف نشده را به سینک می فرستد. سپس سینک صدا را با توجه به اطلاعات میزان صدا تقویت می کند، بنابراین کاربران صدای پخش دقیق را می شنوند.

دستگاه منبع همچنین می تواند اعلان های حجم را ثبت کند. وقتی تغییرات صدا با کنترل‌های روی سینک انجام می‌شود، سینک یک اعلان به منبع ارسال می‌کند. این به منبع اجازه می دهد تا اطلاعات حجم را به طور دقیق در رابط کاربری نمایش دهد.

کنترل صدا مطلق به طور پیش فرض روشن است. برای غیرفعال کردن کنترل صدای مطلق، کاربران می‌توانند به تنظیمات > سیستم > گزینه‌های برنامه‌نویس رفته و کلید غیرفعال کردن صدای مطلق را انتخاب کنند.

کدک های صوتی پیشرفته

در اندروید 8.0، دستگاه‌هایی که از نمایه توزیع صوتی پیشرفته (A2DP) استفاده می‌کنند، می‌توانند از کدک‌های صوتی اضافی پشتیبانی کنند. پشته بلوتوث از مذاکره کدک صوتی برای زمانی که دستگاه ها به یک سینک صوتی از راه دور متصل می شوند، پشتیبانی می کند. این مذاکره بهترین کدک پشتیبانی شده توسط فرستنده و سینک را برای ارائه صدای با کیفیت بالا انتخاب می کند. پس از انتخاب، تمام صدا از طریق رمزگذار انتخاب شده هدایت می شود و سپس به سینک ارسال می شود.

پیاده سازی

دستگاه‌های دارای Android 8.0 که از A2DP پشتیبانی می‌کنند، به‌طور خودکار از کدک اضافی پشتیبانی می‌کنند. سازندگان دستگاه ممکن است نیاز به دریافت مجوزهای جداگانه و حباب های باینری برای برخی از کدک های صوتی اختصاصی داشته باشند. علاوه بر SBC، اندروید 8.0 از کدک های زیر نیز پشتیبانی می کند:

  • AAC
  • aptX
  • aptX HD
  • 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

پروژه متن باز اندروید شامل یک رمزگذار برای کدک LDAC سونی است، بنابراین مجوز یا حباب جداگانه ای از سونی برای آن لازم نیست. برای ادغام کدک LDAC در دستگاه خود، در Sony ثبت نام کنید و فرآیند صدور گواهینامه LDAC را دنبال کنید.

وب سایت صدور گواهینامه LDAC دارای اسنادی در مورد LDAC است، مانند دفترچه راهنمای مشخصات و عملیات. سایت LDAC همچنین تست های اعتبارسنجی و قابلیت همکاری را برای دستگاه های تلفن همراه و تبلت ارائه می دهد. نتایج آزمون موفقیت آمیز را برای تکمیل گواهی LDAC به سونی ارسال کنید.

ویژگی های رابط کاربری

همراه با پشتیبانی از کدک های اضافی، اندروید 8.0 تنظیماتی برای غیرفعال کردن کدک های صوتی بلوتوث با وضوح بالا (HD) برای کاربر فراهم می کند.

  1. به تنظیمات > دستگاه‌های متصل > بلوتوث بروید.
  2. روی نماد چرخ دنده در کنار سینکی که می خواهید کدک ها را برای آن غیرفعال کنید ضربه بزنید.
  3. تیک گزینه HD Audio را بردارید.

سازندگان دستگاه‌هایی که تنظیمات را سفارشی می‌کنند باید راهی را برای کاربران برای غیرفعال کردن کدک‌های HD پیاده‌سازی کنند.

پیام رسانی

پیام‌رسانی از طریق بلوتوث به کاربران امکان می‌دهد پیام‌های SMS را از یک دستگاه راه دور بخوانند، مرور کنند و بنویسند. این قابلیت اغلب هنگام اتصال تلفن به سیستم اطلاعات سرگرمی داخل خودرو استفاده می شود.

تلفن

خدمات تلفن بلوتوث به کاربران امکان می دهد تماس ها را به صورت جریانی و مخاطبین را از تلفن به دستگاه بلوتوث دیگری همگام کنند. این ویژگی ها اغلب برای تماس های هندزفری هنگام رانندگی استفاده می شوند.

در اندروید 8.0، بلوتوث از آهنگ زنگ درون باند پشتیبانی می کند. وقتی تلفنی که از طریق بلوتوث متصل است تماس دریافتی دریافت می کند، آهنگ زنگ روی سینک پخش می شود. با انتخاب کلید فعال کردن زنگ درون باند، آهنگ زنگ درون باند را در تنظیمات > سیستم > گزینه‌های برنامه‌نویس فعال کنید.

ویژگی های بلوتوث

برای پیاده سازی خدمات بلوتوث، پشته بلوتوث از انواع پروفایل ها و ویژگی ها پشتیبانی می کند.

پروفایل های بلوتوث

این پروفایل ها برای بلوتوث در دسترس هستند:

ویژگی نسخه اندروید
نام توضیحات 6.0 7.0 7.1 7.1.2 8.0
SAP نمایه دسترسی سیم کارت 1.1 1.1 1.1 1.1 1.1
نقشه نمایه دسترسی پیام برای پیامک 1.2 1.2 1.2 1.2 1.2
OPP Object Push Profile 1.1 1.1 1.1 1.1 1.2
OBEX بیش از L2CAP مبادله شیء از طریق کنترل پیوند منطقی و پروتکل انطباق بله بله بله بله بله
دروازه صوتی HFP نمایه هندزفری 1.6 1.6 1.7 1.7 1.7
HSP مشخصات هدست 1.2 1.2 1.2 1.2 1.2
A2DP نمایه توزیع صوتی پیشرفته 1.2 1.2 1.2 1.2 1.2
AVRCP نمایه کنترل از راه دور صوتی/تصویری 1.3 1.3 1.3 1.3 1.4
HID نمایه دستگاه رابط انسانی 1.0 1.0 1.0 1.0 1.0
PBAP نمایه دسترسی به دفترچه تلفن 1.1.1 1.1.1 1.1.1 1.1.1 1.2
HDP نمایه دستگاه سلامت 1.0 1.0 1.1 1.1 1.1
SPP مشخصات پورت سریال 1.2 1.2 1.2 1.2 1.2
PAN / BNEP نمایه شبکه شخصی منطقه / پروتکل محفظه شبکه بلوتوث 1.0 1.0 1.0 1.0 1.0
DIP نمایه شناسه دستگاه 1.3 1.3 1.3 1.3 1.3
HOGP 1.0 در گات پنهان شد بله بله بله بله بله
صدای HD 1 به "کدک های صوتی پیشرفته" در بالا مراجعه کنید خیر خیر خیر خیر بله

1 اجرای صدای HD به قابلیت های دستگاه بستگی دارد، هم به منبع و هم به سینک.

ویژگی های کم مصرف بلوتوث

این ویژگی ها برای BLE در دسترس هستند:

ویژگی نسخه اندروید
نام 6.0 7.0 7.1 7.1.2 8.0
اتصالات ایمن BR/EDR 4.1 4.1 4.1 4.1 5.0
حریم خصوصی LE 4.2 4.2 4.2 4.2 5.0
اتصالات امن LE 4.2 4.2 4.2 4.2 5.0
برنامه های افزودنی بسته داده 4.2 4.2 4.2 4.2 5.0
UUID های 32 بیتی بله بله بله بله بله
حالت دوگانه LE مرکزی / محیطی بله بله بله بله بله
حالت محیطی LE بله بله بله بله بله
الزامات Google HCI بله بله بله بله بله
کانال های LE اتصال گرا خیر خیر خیر خیر خیر