באמצעות Bluetooth, מכשירים יכולים לשדר נתונים שאפשר להשתמש בהם לשירותים אינטראקטיביים כמו אודיו, הודעות וטלפון. פרופילי ה-Bluetooth שמשמשים לשירותים שונים נמצאים בקובץ
include/hardware/bluetooth.h
.
אודיו
חיבור Bluetooth מאפשר למשתמשים להפעיל סטרימינג של אודיו במכשירים שתומכים ב-Bluetooth. ברוב התרחישים לדוגמה של אודיו, מכשיר Android הוא המקור, ומכשיר העיבוד, כמו רמקול או אוזניות, הוא היעד.
בקרת עוצמת קול מוחלטת
ב-Android 6.0 ואילך, מקבץ ה-Bluetooth של Android מאפשר למקור להגדיר עוצמה מוחלטת, ומעניק למשתמשים שליטה מדויקת בעוצמת האודיו. מכשיר המקור שולח אודיו ללא הפחתה ומידע על עוצמת הקול למכשיר היעד. לאחר מכן, ה-sink מגביר את האודיו בהתאם למידע על עוצמת הקול, כדי שהמשתמשים ישמעו עוצמת שמע מדויקת.
מכשיר המקור יכול גם לרשום התראות על עוצמת קול. כשמשנים את עוצמת הקול באמצעות הפקדים ב-sink, ה-sink שולח התראה למקור. כך המקור יכול להציג בצורה מדויקת את נתוני הנפח בממשק המשתמש.
בקרת עוצמת קול מוחלטת מופעלת כברירת מחדל. כדי להשבית את בקרת עוצמת הקול המוחלטת, המשתמשים יכולים לעבור אל הגדרות > מערכת > אפשרויות למפתחים ולבחור באפשרות השבתה של עוצמת קול מוחלטת.
קודיקים מתקדמים של אודיו
ב-Android 8.0, מכשירי A2DP יכולים לתמוך בקודקים נוספים של אודיו. סטאק ה-Bluetooth תומך במשא ומתן על קודק אודיו כשמכשירים מתחברים למקור אודיו מרוחק. במהלך המשא ומתן הזה, המערכת בוחרת את הקודק הטוב ביותר שנתמך גם בשולח וגם בבורר (sink) כדי לספק אודיו באיכות גבוהה. אחרי הבחירה, כל האודיו מנותב דרך המקודד שנבחר ולאחר מכן נשלח ל-sink.
הטמעה
במכשירים עם Android מגרסה 8.0 שתומכים ב-A2DP, התמיכה בקודקים הנוספים מופיעה באופן אוטומטי. יצרני המכשירים עשויים להידרש לקבל רישיונות נפרדים ו-blobs בינאריים לחלק מקודקי האודיו הקנייניים. בנוסף ל-SBC, ב-Android 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
פרויקט Android Open Source כולל מקודד לקודק LDAC של Sony, כך שאין צורך ברישיון או ב-blob נפרדים מ-Sony. כדי לשלב את הקודק LDAC במכשיר, צריך להירשם ל-Sony ולפעול לפי תהליך האישור של LDAC.
באתר האישור של LDAC יש מסמכים בנושא LDAC, כמו מדריכים למפרטים ולפעולה. באתר LDAC יש גם בדיקות אימות ואינטראקציה הדדית למכשירים ניידים ולטאבלטים. שולחים את תוצאות הבדיקה שעברו את הקריטריונים ל-Sony כדי להשלים את ההסמכה ל-LDAC.
תכונות ממשק המשתמש
בנוסף לתמיכה בקודקים נוספים, ב-Android 8.0 יש הגדרה שזמינה למשתמש, שמאפשרת להשבית קודקי אודיו ב-Bluetooth ברזולוציה גבוהה (HD).
- עוברים אל הגדרות > מכשירים מחוברים > Bluetooth.
- מקישים על סמל גלגל השיניים לצד ה-sink שרוצים להשבית עבורו את הקודקים.
- מבטלים את הסימון של התיבה אודיו באיכות HD.
יצרני מכשירים שמתאימים אישית את ההגדרות צריכים להטמיע דרך שבה המשתמשים יוכלו להשבית קודיקים של HD.
העברת הודעות
שליחת הודעות דרך Bluetooth מאפשרת למשתמשים לקרוא, לעיין ולכתוב הודעות SMS ממכשיר מרוחק. היכולת הזו משמשת בדרך כלל כשמחברים טלפון למערכת מידע ובידור ברכב.
טלפוניה
שירותי הטלפון ב-Bluetooth מאפשרים למשתמשים לבצע סטרימינג של שיחות ולסנכרן אנשי קשר מטלפון למכשיר Bluetooth אחר. לרוב משתמשים בתכונות האלה לשיחות ללא ידיים בזמן נהיגה.
ב-Android 8.0, Bluetooth תומך בחיבור בתחום התדרים של צלצול. כשמתקבלת שיחה נכנסת בטלפון שמחובר באמצעות Bluetooth, צלצול הטלפון מופעל ב-Sink. מפעילים את האפשרות Enable in-band ringing (הפעלת צלצול בתחום התדרים הנדרש) בקטע הגדרות > מערכת > אפשרויות למפתחים.
תכונות Bluetooth
כדי להטמיע את שירותי ה-Bluetooth, מקבץ ה-Bluetooth תומך במגוון פרופילים ותכונות.
פרופילים של Bluetooth
הפרופילים הבאים זמינים ל-Bluetooth:
תכונה | גרסת Android | |||||
---|---|---|---|---|---|---|
שם | תיאור | 6.0 | 7.0 | 7.1 | 7.1.2 | 8.0 |
SAP | פרופיל גישה לכרטיס SIM | 1.1 | 1.1 | 1.1 | 1.1 | 1.1 |
MAP | פרופיל גישה להודעות ל-SMS | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 |
OPP | פרופיל לדחיפת אובייקטים | 1.1 | 1.1 | 1.1 | 1.1 | 1.2 |
OBEX על L2CAP | OBject EXchange over Logical Link Control and Adaptation Protocol | כן | כן | כן | כן | כן |
HFP Audio Gateway | פרופיל הפעלה קולית | 1.6 | 1.6 | 1.7 | 1.7 | 1.7 |
HSP | פרופיל אוזניות | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 |
A2DP | Advanced Audio Distribution Profile | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 |
AVRCP | Audio/Video Remote Control Profile | 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 | Serial Port Profile | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 |
PAN / BNEP | פרופיל לרשת אזור אישית (PAN) / פרוטוקול אנקפסולציה של רשת Bluetooth | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
DIP | פרופיל מזהה המכשיר | 1.3 | 1.3 | 1.3 | 1.3 | 1.3 |
HOGP 1.0 | HID על גבי GATT | כן | כן | כן | כן | כן |
אודיו באיכות HD1 | מידע נוסף זמין בקטע 'קודקים מתקדמים של אודיו' שלמעלה | לא | לא | לא | לא | כן |
1 הטמעת אודיו באיכות HD תלויה ביכולות המכשיר, גם במקור וגם בזרם היעד.
תכונות של Bluetooth עם צריכת אנרגיה נמוכה (BLE)
התכונות הבאות זמינות ב-BLE:
תכונה | גרסת Android | ||||
---|---|---|---|---|---|
שם | 6.0 | 7.0 | 7.1 | 7.1.2 | 8.0 |
חיבורים מאובטחים מסוג BR/EDR | 4.1 | 4.1 | 4.1 | 4.1 | 5.0 |
LE Privacy | 4.2 | 4.2 | 4.2 | 4.2 | 5.0 |
חיבורים מאובטחים של LE | 4.2 | 4.2 | 4.2 | 4.2 | 5.0 |
Data Packet Extensions | 4.2 | 4.2 | 4.2 | 4.2 | 5.0 |
מזהי UUID של 32 ביט | כן | כן | כן | כן | כן |
Dual Mode LE Central/Peripheral | כן | כן | כן | כן | כן |
מצב LE Peripheral | כן | כן | כן | כן | כן |
דרישות Google HCI | כן | כן | כן | כן | כן |
ערוצים שמתמקדים בחיבור ב-LE | לא | לא | לא | לא | לא |