Via Bluetooth, les appareils peuvent transmettre des données pouvant être utilisées pour des services interactifs tels que l'audio, la messagerie et la téléphonie. Les profils Bluetooth utilisés pour différents services se trouvent dans
include/hardware/bluetooth.h
.
Audio
Une connexion Bluetooth permet aux utilisateurs de diffuser du contenu audio sur des appareils compatibles avec le Bluetooth. Pour la plupart des cas d'utilisation audio, l'appareil Android est la source, et l'appareil de rendu, tel qu'une enceinte ou un casque, est le puits.
Contrôle du volume absolu
Sous Android 6.0 et versions ultérieures, la pile Bluetooth Android permet à une source de définir un volume absolu, ce qui permet aux utilisateurs de contrôler précisément le volume audio. L'appareil source envoie des informations audio et de volume non atténuées au récepteur. Le sink amplifie ensuite l'audio en fonction des informations de volume, de sorte que les utilisateurs entendent un volume de lecture précis.
L'appareil source peut également enregistrer des notifications de volume. Lorsque des modifications de volume sont apportées à l'aide des commandes du sink, celui-ci envoie une notification à la source. Cela permet à la source d'afficher précisément les informations sur le volume dans une interface utilisateur.
Le contrôle du volume absolu est activé par défaut. Pour désactiver le contrôle du volume absolu, les utilisateurs peuvent accéder à Paramètres > Système > Options pour les développeurs et activer l'option Désactiver le volume absolu.
Codecs audio avancés
Sous Android 8.0, les appareils qui utilisent le profil A2DP (Advanced Audio Distribution Profile) peuvent prendre en charge des codecs audio supplémentaires. La pile Bluetooth prend en charge la négociation de codec audio lorsque les appareils se connectent à un collecteur audio à distance. Cette négociation sélectionne le meilleur codec compatible à la fois avec l'expéditeur et le collecteur pour fournir un son de haute qualité. Après la sélection, tous les flux audio sont acheminés via l'encodeur sélectionné, puis envoyés au sink.
Implémentation
Les appareils équipés d'Android 8.0 compatibles avec A2DP bénéficient automatiquement de la compatibilité avec les codecs supplémentaires. Les fabricants d'appareils peuvent avoir besoin d'obtenir des licences et des blobs binaires distincts pour certains codecs audio propriétaires. En plus du SBC, Android 8.0 est compatible avec les codecs suivants:
- AAC
- aptX
- aptX HD
- LDAC
Les fabricants d'appareils peuvent choisir les codecs que leurs appareils tentent d'utiliser en premier. Définissez les priorités de codec en modifiant les valeurs suivantes dans
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>
Certification LDAC
Le projet Android Open Source inclut un encodeur pour le codec LDAC de Sony. Il n'est donc pas nécessaire d'obtenir une licence ou un blob distincts de Sony. Pour intégrer le codec LDAC à votre appareil, enregistrez-vous auprès de Sony et suivez le processus de certification LDAC.
Le site Web de certification LDAC contient des documents sur le LDAC, tels que des manuels de spécification et d'utilisation. Le site LDAC propose également des tests de validation et d'interopérabilité pour les appareils mobiles et les tablettes. Envoyez les résultats des tests réussis à Sony pour finaliser la certification LDAC.
Fonctionnalités de l'UI
En plus de la prise en charge de codecs supplémentaires, Android 8.0 fournit un paramètre destiné à l'utilisateur pour désactiver les codecs audio Bluetooth haute définition (HD).
- Accédez à Paramètres > Appareils connectés > Bluetooth.
- Appuyez sur l'icône en forme de roue dentée à côté du sink pour lequel vous souhaitez désactiver les codecs.
- Décochez la case Audio HD.
Les fabricants d'appareils qui personnalisent les paramètres doivent permettre aux utilisateurs de désactiver les codecs HD.
Messages
La messagerie via Bluetooth permet aux utilisateurs de lire, de parcourir et de rédiger des SMS depuis un appareil distant. Cette fonctionnalité est souvent utilisée pour connecter un téléphone à un système d'infodivertissement embarqué.
Téléphonie
Les services de téléphonie Bluetooth permettent aux utilisateurs de diffuser des appels et de synchroniser des contacts depuis un téléphone vers un autre appareil Bluetooth. Ces fonctionnalités sont souvent utilisées pour les appels mains libres lorsque vous conduisez.
Sous Android 8.0, le Bluetooth est compatible avec la sonnerie en bande. Lorsqu'un téléphone connecté via Bluetooth reçoit un appel entrant, la sonnerie se déclenche sur le lavabo. Activez la sonnerie en bande dans Paramètres > Système > Options pour les développeurs en activant l'option Activer la sonnerie en bande.
Fonctionnalités Bluetooth
Pour implémenter les services Bluetooth, la pile Bluetooth est compatible avec différents profils et fonctionnalités.
Profils Bluetooth
Les profils suivants sont disponibles pour le Bluetooth:
Fonctionnalité | Version d'Android | |||||
---|---|---|---|---|---|---|
Nom | Description | 6.0 | 7.0 | 7.1 | 7.1.2 | 8.0 |
SAP | Profil d'accès à la SIM | 1.1 | 1.1 | 1.1 | 1.1 | 1.1 |
MAP | Profil d'accès aux messages pour les SMS | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 |
OPP | Profil de transfert d'objets | 1.1 | 1.1 | 1.1 | 1.1 | 1.2 |
OBEX over L2CAP | OBject EXchange over Logical Link Control and Adaptation Protocol | Oui | Oui | Oui | Oui | Oui |
Passerelle audio HFP | Profil mains libres | 1,6 | 1,6 | 1.7 | 1.7 | 1.7 |
HSP | Profil du casque | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 |
A2DP | Advanced Audio Distribution Profile (A2DP) | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 |
AVRCP | Audio/Video Remote Control Profile (AVRCP) | 1.3 | 1.3 | 1.3 | 1.3 | 1.4 |
HID | Profil de l'appareil d'interface utilisateur | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
PBAP | Profil d'accès au répertoire téléphonique | 1.1.1 | 1.1.1 | 1.1.1 | 1.1.1 | 1.2 |
HDP | Profil de l'appareil de santé | 1.0 | 1.0 | 1.1 | 1.1 | 1.1 |
SPP | Profil de port série | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 |
PAN / BNEP | Profil de réseau personnel / Protocole d'encapsulation de réseau Bluetooth | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
DIP | Profil de l'ID de l'appareil | 1.3 | 1.3 | 1.3 | 1.3 | 1.3 |
HOGP 1.0 | HID over GATT | Oui | Oui | Oui | Oui | Oui |
Audio HD1 | Consultez la section "Codecs audio avancés" ci-dessus. | Non | Non | Non | Non | Oui |
1 L'implémentation de l'audio HD dépend des fonctionnalités de l'appareil, à la fois sur la source et le sink.
Fonctionnalités Bluetooth à basse consommation
Ces fonctionnalités sont disponibles pour le BLE:
Fonctionnalité | Version d'Android | ||||
---|---|---|---|---|---|
Nom | 6.0 | 7.0 | 7.1 | 7.1.2 | 8.0 |
Connexions sécurisées BR/EDR | 4.1 | 4.1 | 4.1 | 4.1 | 5,0 |
Confidentialité des données de localisation | 4.2 | 4.2 | 4.2 | 4.2 | 5,0 |
Connexions sécurisées LE | 4.2 | 4.2 | 4.2 | 4.2 | 5,0 |
Extensions de paquets de données | 4.2 | 4.2 | 4.2 | 4.2 | 5,0 |
UUID 32 bits | Oui | Oui | Oui | Oui | Oui |
Central/périphérique LE Dual Mode | Oui | Oui | Oui | Oui | Oui |
Mode périphérique LE | Oui | Oui | Oui | Oui | Oui |
Exigences de Google concernant l'interface utilisateur conversationnelle | Oui | Oui | Oui | Oui | Oui |
Chaînes orientées connexion LE | Non | Non | Non | Non | Non |