Bluetooth Low Energy-Audio (LE)
Dieser Artikel enthält eine Übersicht über Bluetooth LE Audio, die in Windows 11, Version 22H2 (KB5026446) eingeführt wurde.
Einführung
Bluetooth LE Audio ermöglicht das Streamen von Unicast- oder Broadcast-Audio an Bluetooth LE Geräte über einen isochronen Transport. Ab Version 5.3 der Bluetooth-Kernspezifikation gibt es keine standardmäßig definierte Host-Controller-Schnittstelle (HCI) für Host-Plattformen zum Senden und Empfangen isochroner Daten an den und vom Bluetooth-Controller. In diesem Dokument wird der spezifische Audiopfad (VSAP) für Windows Bluetooth definiert, um Plattformen die Verwendung von herstellerspezifischen Lösungen zur Aktivierung des Bluetooth LE-Audiostreamings zu ermöglichen. Die VSAP-Softwareschnittstelle verwendet Windows-Audioklassenerweiterungen (ACX) und weitere Schnittstelleneigenschaften, die in diesem Dokument definiert sind.
Terminologie und Voraussetzungen
Zusätzlich zu den in dieser Tabelle definierten Begriffen verweist dieses Dokument auch auf Begriffe, die von Windows-Audioklassenerweiterungen definiert werden.
Begriff | Definition |
---|---|
LE-Audio | Kurz für Bluetooth LE Audio |
Klassisches Audio | Bluetooth-Audiostreaming, das das freihändige Profil (HFP) und erweiterte Audioverteilungsprofil (A2DP) verwendet |
Audiogerät | Ein einzelnes Remote-Bluetooth LE-Audiogerät oder eine Gruppe von Bluetooth LE Audio-Geräten, die zusammen einen einzelnen Audioendpunkt aus der Perspektive von Windows erstellen. |
BAP | Das Grundlegende Audioprofil definiert, wie Geräte Audio mithilfe von Bluetooth Low Energy (LE)-Kommunikation verteilen und nutzen können. |
TMAP | Das Telefonie- und Medienaudioprofil gibt interoperable Konfigurationen von Audiodiensten und Profilen auf niedrigerer Ebene an. |
ASCS | Der Audiostream-Steuerungsdienst definiert eine Standardmethode für Bluetooth LE-Audiogeräte zum Konfigurieren und Einrichten von Unicast-Audiostreams. |
PACS | Der dienst veröffentlichte Audiofunktionen definiert eine Standardmethode für Bluetooth LE-Audiogeräte, um die unterstützten Audiocodecs-Funktionen zu melden. |
CIS | Der Transport von verbundenen isochronen Streams wird verwendet, um Unicast-Audiodaten zwischen Bluetooth LE-Geräten zu senden und zu empfangen. |
BIS | Der Übertragung isochroner Stream-Transport wird für verbindungslose Audiodatenübertragungen verwendet. |
ACX | Abkürzung für Audioklassenerweiterungen, bei denen es sich um das Treibermodell handelt, das von allen Audiotreibern benötigt wird, um Bluetooth LE Audio unter Windows zu unterstützen. |
Streamingschaltungen | Mindestens ein ACXCIRCUIT-Objekt, das vom Anbieterspezifischen Audiotreiberstapel für seinen Streamingpfad erstellt wurde. |
Profilschaltung | Ein ACXCIRCUIT-Objekt , das von der Bluetooth LE Audio-Profilimplementierung unter Windows erstellt wurde. Dieser ACXCIRCUIT dient als Leiterkreis gemäß der ACX-Spezifikation und ist kein Streaming-Schaltkreis. |
In diesem Dokument wird davon ausgegangen, dass sie mit den zuvor definierten Begriffen und den folgenden HCI-Befehlen vertraut sind, die in der Bluetooth Core 5.3-Spezifikation definiert sind:
- HCI_Read_Local_Supported_Codecs (v2)
- HCI_Read_Local_Supported_Codec_Capabilities
- HCI_LE_Set_CIG_Parameters
- HCI_LE_Create_CIS
- HCI_Configure_Data_Path
- HCI_LE_Setup_ISO_Data_Path
- HCI_LE_Remove_ISO_Data_Path
- HCI_LE_Remove_CIG
Bluetooth LE Audio VSAP erfordert, dass die Audiotreiber das ACX-Framework verwenden. Die Einführung von ACX für Bluetooth LE Audio bietet mehrere Vorteile, z. B.:
- Unterstützt das bevorzugte Audiotreibermodell für Windows in Zukunft.
- Verwendet die systemeigene Unterstützung von ACX für Multistapel-Audiolösungen, ohne dass ein dedizierter DDI zwischen Treibern erforderlich ist.
- Erfordert nicht, dass IHV-Audiotreiber Anforderungen vom Audiosystem an den Bluetooth-Stapel weiterleiten. Stattdessen kann ACX Anforderungen direkt über die Profilschaltung an den Bluetooth-Stapel senden.
Aufbau
Definitionen
Die folgenden Komponenten sind an den verschiedenen VSAP-Architekturvarianten beteiligt.
Windows ACX-Framework
Diese Komponente ermöglicht die Unterstützung für einen Multistapel-Audioendpunkt. Bei Bluetooth LE Audio sind die Softwarekomponenten, die einen Audioendpunkt verfassen, der herstellerspezifische Audiotreiberstapel und das Windows Bluetooth LE Audio-Profil.
Anbieterspezifischer Audiotreiberstapel
Diese herstellerspezifische Komponente ist für das Senden und Empfangen von Bluetooth LE Audio-Daten an und von einem Bluetooth-Controller über eine vom Hersteller definierte Audioschnittstelle verantwortlich. Sie besteht aus mindestens einem ACX-Streamingtreiber, um die eingehenden und ausgehenden Audiodaten zu verwalten. Weitere ACX-Treiber können enthalten sein, wenn sie teile des ACX-Audioendpunkts mit mehreren Schaltungen sind. Diese Komponente wird auch als IHV ACX Streaming Driver in diesem Dokument bezeichnet.
Windows Bluetooth LE Audio-Profil
Diese Komponente enthält die Implementierung des Grundlegenden Audioprofils (BAP), des Lautstärkesteuerungsprofils und des Mikrofonsteuerungsprofils. Es ist für die Erstellung des Leiters ACXCIRCUIT für jedes Bluetooth LE Audio-Gerät oder eine Gruppe von Geräten verantwortlich, die mit Windows gekoppelt sind, und meldet Audioformate, die vom Remotegerät und Bluetooth-Controller gemeldet werden, und verwaltet den Status von isochronen Kanälen und Gruppen.
Windows Bluetooth Core Stack
Diese Komponente bietet eine Schnittstelle, über die das Windows Bluetooth LE-Audioprofil unterstützte Codec-Funktionen vom lokalen Bluetooth-Controller abfragen und den Status von isochronen Kanälen und Gruppen verwalten kann.
LC3-Codec
Diese Unterkomponente ist für die Übersetzung zwischen komprimierten LC3-Audio- und PCM-Audiodaten verantwortlich. Sie unterstützt sowohl die Codierungs- als auch die Decodierungsfunktionen und kann entweder als Teil des anbieterspezifischen Audiotreiberstapels (VSAP) oder in der Hardware als Teil des Audio-DSP- oder Bluetooth-Controllers implementiert werden. Das Diagramm erwähnt LC3 anhand des Namens, da es sich um den standardmäßigen Codec, der von bluetooth SIG unterstützt wird. Zukünftige Codecs und herstellerspezifische Codecs, die von Windows unterstützt werden, können jedoch auch auf ähnliche Weise in die Architektur integriert werden.
Architekturvarianten
Die Bluetooth LE Audio VSAP-Architektur unterstützt verschiedene Varianten für Streaming.
- Sideband Bluetooth LE Audio Streaming ohne Audio offload
- Sideband Bluetooth LE Audio Streaming mit Audio offload
- Herstellerspezifisches Inband Bluetooth LE Audio Streaming
In den folgenden Diagrammen werden die schattierten Komponenten vom IHV bereitgestellt, und die nicht schattenfreien Komponenten werden vom Betriebssystem bereitgestellt.
Sideband Bluetooth LE Audio-Architektur ohne Audio offload
Eine Sidebandarchitektur verwendet eine herstellerspezifische Audioschnittstelle, um dem Stapel des Audiotreibers das Senden und Empfangen von Audiodaten an den Bluetooth-Controller zu ermöglichen. Dieser Datenpfad ist vom HCI-Datenpfad getrennt, der für andere Bluetooth-Daten verwendet wird, z. B. signalisieren von Nachrichten zwischen dem Unicast-Client und dem Remote-Unicast-Server. Im folgenden Diagramm wird eine Sidebandarchitektur modelliert, in der der LC3-Codec im Bluetooth-Controller gehostet wird. Es gilt auch, dass der LC3-Codec im Rahmen des Anbieterspezifischen Audiotreiberstapels für die Softwarecodierung und Decodierung gehostet wird. In diesem Fall würde das an den Bluetooth-Controller gesendete Audio als LC3-Audioframes anstelle von PCM-Audio formatiert.
Das folgende Diagramm zeigt eine Sideband Bluetooth LE Audio-Architektur mit einem LC3-Codec im Bluetooth-Controller.
Das folgende Diagramm zeigt eine Sideband Bluetooth LE Audio-Architektur mit einem LC3-Codec im Audiotreiberstapel.
Sideband Bluetooth LE Audio-Architektur mit Audio offload
Eine Sideband-Architektur mit Audio offload umfasst eine Audio-DSP-Hardwarekomponente, um eine Bluetooth LE Audio Streaming-Lösung mit leistungssparenden Vorteilen bereitzustellen. Die folgenden Diagramme veranschaulichen eine mögliche Architektur mit dem LC3-Codec im Bluetooth-Controller und dem Codec im Audio-DSP.
Das folgende Diagramm zeigt ein Sideband Bluetooth LE Audio mit Audio offload-Architektur mit einem LC3-Codec im Bluetooth-Controller.
Das folgende Diagramm zeigt ein Sideband Bluetooth LE Audio mit Audio offload-Architektur mit einem LC3-Codec im Audio-DSP.
Herstellerspezifischer Inband-Bluetooth LE-Audioarchitektur
Die VSAP-Inbandarchitektur ermöglicht es einer benutzerdefinierten Pipeline, Bluetooth LE-Audiodaten vom herstellerspezifischen Audiotreiberstapel an den HCI des Bluetooth-Controllers zu senden und zu empfangen. Diese Architektur enthält eine neue Komponente, die "IHV ISO Merge Component". Diese Komponente ist für die Verwaltung der Flusssteuerung für die ISO-Daten verantwortlich. Sie muss auch die HCI-Befehlsflusssteuerung mit dem Windows Bluetooth Core Stack teilen, wenn sie HCI-Befehle senden muss.
Das folgende Diagramm zeigt einen anbieterspezifischen Bluetooth LE Audio-Architektur.
Detailliertes Design
Anforderungen an das Audioformat
Dauer des Audioframes
Die Bluetooth LE-Audioprofile ermöglichen Implementierungen die Unterstützung des Audiostreamings mit Audioframedauern von 7,5 Millisekunden oder 10 Millisekunden. Windows erfordert, dass die von IHVs bereitgestellten Codecs beide Framedauern unterstützen, um die Interoperabilität mit Bluetooth LE-Audiozubehörgeräten und die Qualität der Koexistenz mit anderen bluetooth LE-Geräten sicherzustellen, die mit dem System verbunden sind.
Definitionen des Signalverarbeitungsmodus
Bluetooth LE Audio unterstützt eine Vielzahl von Streamingformaten, um verschiedene Benutzerszenarien zu unterstützen. Die BAP- und TMAP-Spezifikationen definieren obligatorische unterstützte Formate für die Zertifizierung. Windows wendet Audiosignalverarbeitungsmodi an, um das Format zu korrelieren, das mit dem szenario verwendet wird, das vom System ausgeführt wird. Audiotreiber, die Bluetooth LE Audio unterstützen, müssen die Unterstützung für die Signalverarbeitungsmodi und -formate in der folgenden Tabelle angeben. Darüber hinaus unterstützt Bluetooth LE Audio den Rohsignalverarbeitungsmodus nicht, sodass Audiotreiber keine unterstützten Formate für diesen Modus bewerben.
Rendern von Audiosignalverarbeitungsmodi
Bluetooth LE Audio erfordert, dass Audioformate für die folgenden Signalverarbeitungsmodi deklariert werden:
- Standard (AUDIO_SIGNALPROCESSINGMODE_DEFAULT)
- Dieser Modus wird für unidirektionale Renderszenarien verwendet, z. B. Musikwiedergabe, Benachrichtigungen und Videospielaudio.
- Kommunikation (AUDIO_SIGNALPROCESSINGMODE_COMMUNICATIONS)
- Dieser Modus wird für bidirektionale Szenarien wie Sprachanrufe verwendet.
Die folgenden Tabellen sind Listen von Formaten für jeden Anwendungsfall- und Signalverarbeitungsmodus. Audioformate werden von den am häufigsten bevorzugten bis zum am wenigsten bevorzugten sortiert.
Systemsounds, Musikwiedergabe und Videospielaudio, wenn eine Verbindung mit einem Stereogerät oder einer koordinierten Gruppe von Geräten hergestellt wird
Signalverarbeitungsmodus: Standard
Stichprobenhäufigkeit | Kanalanzahl | Bittiefe | Framedauer | Audiodatenrate | BAP-Codec-Konfigurations-ID (Tabelle 3.11 der BAP-Spezifikation) |
---|---|---|---|---|---|
48 kHz | 2 | 16 | 7,5 ms | 96 KBit/s | 48_3 |
48 kHz | 2 | 16 | 7,5 ms | 80 KBit/s | 48_1 |
48 kHz | 2 | 16 | 10 ms | 96 KBit/s | 48_4 |
48 kHz | 2 | 16 | 10 ms | 80 KBit/s | 48_2 |
24 kHz | 2 | 16 | 7,5 ms | 48 Kbit/s | 24_1 |
24 kHz | 2 | 16 | 10 ms | 48 Kbit/s | 24_2 |
Systemsounds, Musikwiedergabe und Videospielaudio, wenn sie mit einem einzigen Mitglied eines koordinierten Satzes verbunden sind (einzelne Ohrhörer oder Hörgeräte)
Signalverarbeitungsmodus: Standard
Stichprobenhäufigkeit | Kanalanzahl | Bittiefe | Framedauer | Audiodatenrate | BAP-Codec-Konfigurations-ID (Tabelle 3.11 der BAP-Spezifikation) |
---|---|---|---|---|---|
48 kHz | 1 | 16 | 7,5 ms | 96 KBit/s | 48_3 |
48 kHz | 1 | 16 | 7,5 ms | 80 KBit/s | 48_1 |
48 kHz | 1 | 16 | 10 ms | 96 KBit/s | 48_4 |
48 kHz | 1 | 16 | 10 ms | 80 KBit/s | 48_2 |
24 kHz | 1 | 16 | 7,5 ms | 48 Kbit/s | 24_1 |
24 kHz | 1 | 16 | 10 ms | 48 Kbit/s | 24_2 |
16 kHz | 1 | 16 | 7,5 ms | 32 KBit/s | 16_1 |
16 kHz | 1 | 16 | 10 ms | 32 KBit/s | 16_2 |
Rendern von Sprachrekordern, VOIP-Anrufen oder Videospielaudio mit Sprachchat
Signalverarbeitungsmodus: Kommunikation
Stichprobenhäufigkeit | Kanalanzahl | Bittiefe | Framedauer | Audiodatenrate | BAP-Codec-Konfigurations-ID (Tabelle 3.11 der BAP-Spezifikation) |
---|---|---|---|---|---|
32 kHz | 1 | 16 | 7,5 ms | 64 KBit/s | 32_1 |
32 kHz | 1 | 16 | 10 ms | 64 KBit/s | 32_2 |
24 kHz | 1 | 16 | 7,5 ms | 48 Kbit/s | 24_1 |
24 kHz | 1 | 16 | 10 ms | 48 Kbit/s | 24_2 |
16 kHz | 1 | 16 | 7,5 ms | 32 KBit/s | 16_1 |
16 kHz | 1 | 16 | 10 ms | 32 KBit/s | 16_2 |
Aufzeichnung von Audiosignalverarbeitungsmodi für Datenstrom
Bluetooth LE Audio erfordert, dass Audioaufzeichnungsformate für den Standardsignalverarbeitungsmodus (AUDIO_SIGNALPROCESSINGMODE_DEFAULT) deklariert werden. Die Liste der unterstützten Aufnahmeformate befindet sich in der folgenden Tabelle.
Audioformate werden von den am häufigsten bevorzugten bis zum am wenigsten bevorzugten sortiert.
Aufzeichnen von Sprachrekordern, VOIP-Anrufen oder Videospielaudio mit Sprachchat
Signalverarbeitungsmodus: Standard
Stichprobenhäufigkeit | Kanalanzahl | Bittiefe | Framedauer | Audiodatenrate | BAP-Codec-Konfigurations-ID (Tabelle 3.11 der BAP-Spezifikation) |
---|---|---|---|---|---|
32 kHz | 1 | 16 | 7,5 ms | 64 KBit/s | 32_1 |
32 kHz | 1 | 16 | 10 ms | 64 KBit/s | 32_2 |
24 kHz | 1 | 16 | 7,5 ms | 48 Kbit/s | 24_1 |
24 kHz | 1 | 16 | 10 ms | 48 Kbit/s | 24_2 |
16 kHz | 1 | 16 | 7,5 ms | 32 KBit/s | 16_1 |
16 kHz | 1 | 16 | 10 ms | 32 KBit/s | 16_2 |
Definierte Streamkonfigurationen und Topologien
Nur Renderkonfigurationen
Grundlegende Audioprofilkonfiguration 1
Die folgende Audiokonfiguration ist in Tabelle 4.1 der Bluetooth BAP-Spezifikation definiert.
Der PC ist mit einem einzelnen Audiogerät verbunden, das Monostreams unterstützt. Das einzelne Gerät kann ein eigenständiges Gerät oder ein einzelnes verbundenes Mitglied eines koordinierten Satzes sein.
Anwendungsfallbeispiele | Windows-Audioeinstellungen | Bluetooth Controller-Einstellungen |
---|---|---|
Medienwiedergabe | Render: Signalverarbeitungsmodus: Standard Kanalanzahl: 1 Aufnahme: Keine |
CIS-Anzahl: 1 CIG Count: 1 BAP-QoS-Einstellungen: Hohe Zuverlässigkeit |
Sprachanruf ohne Mikrofon auf Einem Audiogerät | Render: Signalverarbeitungsmodus: Kommunikation Kanalanzahl: 1 Aufnahme: Keine |
CIS-Anzahl: 1 CIG Count: 1 BAP-QoS-Einstellungen: Niedrige Latenz |
Wiedergabe von Videospielen | Render: Signalverarbeitungsmodus: Standard Kanalanzahl: 1 Aufnahme: Keine |
CIS-Anzahl: 1 CIG Count: 1 BAP-QoS-Einstellungen: Niedrige Latenz |
Grundlegende Audioprofilkonfiguration 4
Die folgende Audiokonfiguration ist in Tabelle 4.1 der Bluetooth BAP-Spezifikation definiert.
Der PC ist an ein einzelnes Audiogerät angeschlossen, das Stereostreams unterstützt. Das Audiogerät kann zwei Audiokanäle auf einem einzigen CIS verarbeiten.
Anwendungsfallbeispiele | Windows-Audioeinstellungen | Bluetooth Controller-Einstellungen |
---|---|---|
Medienwiedergabe | Rendern: Signalverarbeitungsmodus: Standard Kanalanzahl: 2 Aufnahme: Keine |
CIS-Anzahl: 1 CIG Count: 1 BAP-QoS-Einstellungen: Hohe Zuverlässigkeit Audiokanalzuweisung: Vorne links und vorne rechts |
Wiedergabe von Videospielen | Signalverarbeitungsmodus: Standard Kanalanzahl: 2 Aufnahme: Keine |
CIS-Anzahl: 1 CIG Count: 1 BAP-QoS-Einstellungen: Niedrige Latenz Zuordnung des Audiokanals: Vorne links und vorne rechts |
Grundlegende Audioprofilkonfiguration 6(i)
Die folgende Audiokonfiguration ist in Tabelle 4.1 der Bluetooth BAP-Spezifikation definiert.
Der PC ist an ein einzelnes Audiogerät angeschlossen, das Stereostreams unterstützt. Das Audiogerät kann nur einen Audiokanal auf jedem der beiden CISs verarbeiten.
Anwendungsfallbeispiele | Windows-Audioeinstellungen | Bluetooth Controller-Einstellungen |
---|---|---|
Medienwiedergabe | Signalverarbeitungsmodus: Standard Kanalanzahl: 2 Aufnahme: Keine |
CIS-Anzahl: 2 CIG Count: 1 BAP-QoS-Einstellungen: Hohe Zuverlässigkeit |
Sprachanruf ohne Mikrofon auf Einem Audiogerät | Signalverarbeitungsmodus: Kommunikation Kanalanzahl: 1 Aufnahme: Keine |
CIS-Anzahl: 2 CIG Count: 1 BAP-QoS-Einstellungen: Niedrige Latenz Audiokanalzuordnung: Entweder vorne links oder vorne rechts |
Wiedergabe von Videospielen | Signalverarbeitungsmodus: Standard Kanalanzahl: 2 Aufnahme: Keine |
CIS-Anzahl: 2 CIG Count: 1 BAP-QoS-Einstellungen: Niedrige Latenz Zuordnung des Audiokanals: Vorne links und vorne rechts |
Grundlegende Audioprofilkonfiguration 6(ii)
Die folgende Audiokonfiguration ist in Tabelle 4.1 der Bluetooth BAP-Spezifikation definiert.
Der PC ist mit einer koordinierten Gruppe von Audiogeräten verbunden. Der Satz kann zwei Audiokanäle verarbeiten, wobei jedes Mitglied einen einzelnen Kanal verarbeitet.
Anwendungsfallbeispiele | Windows-Audioeinstellungen | Bluetooth Controller-Einstellungen |
---|---|---|
Medienwiedergabe | Signalverarbeitungsmodus: Standard Kanalanzahl: 2 Aufnahme: Keine |
CIS-Anzahl: 2 CIG Count: 1 BAP-QoS-Einstellungen: Hohe Zuverlässigkeit |
Sprachanruf ohne Mikrofon auf beiden Geräten | Signalverarbeitungsmodus: Kommunikation Kanalanzahl: 1 Aufnahme: Keine |
CIS-Anzahl: 2 CIG Count: 1 BAP-QoS-Einstellungen: Niedrige Latenz |
Wiedergabe von Videospielen | Signalverarbeitungsmodus: Standard Kanalanzahl: 2 Aufnahme: Keine |
CIS-Anzahl: 2 CIG Count: 1 BAP-QoS-Einstellungen: Niedrige Latenz |
Bidirektionale Konfigurationen
Bidirektionale Konfigurationen werden verwendet, wenn das Bluetooth LE-Audioprofil erkennt, dass eine Anwendung beabsichtigt, einen Aufnahme- und Renderdatenstrom auf einem Remotegerät oder einer Gruppe von Geräten zu erstellen. Da Anwendungen die Erfassung und das Rendern von Datenströmen separat steuern, müssen IHV-Audiotreiber und Bluetooth-Controller zulassen, dass Audio über eine einzelne Richtung einer bidirektionalen CIS fließen kann, nachdem sie mit den HCI-Befehlen "Datenpfad konfigurieren" und "LE Setup ISO Data Path" bereitgestellt wird.
Grundlegende Audioprofilkonfiguration 3
Die folgende Audiokonfiguration ist in Tabelle 4.1 der Bluetooth BAP-Spezifikation definiert.
Der PC ist mit einem einzelnen Audiogerät mit einem bidirektionalen Monostream verbunden, der auf einem einzigen CIS aufgebaut ist.
Anwendungsfall | Windows-Audioeinstellungen | Bluetooth Controller-Einstellungen |
---|---|---|
Anruf | Render: Signalverarbeitungsmodus: Kommunikation Kanalanzahl: 1 Erfassen: Signalverarbeitungsmodus: Standard Kanalanzahl: 1 |
CIS-Anzahl: 1 CIG Count: 1 BAP-QoS-Einstellungen: Niedrige Latenz |
Wiedergabe von Videospielen mit Sprachchat | Render: Signalverarbeitungsmodus: Kommunikation Kanalanzahl: 1 Erfassen: Signalverarbeitungsmodus: Standard Kanalanzahl: 1 |
CIS-Anzahl: 1 CIG Count: 1 BAP-QoS-Einstellungen: Niedrige Latenz |
Grundlegende Audioprofilkonfiguration 8(i)
Die folgende Audiokonfiguration ist in Tabelle 4.1 der Bluetooth BAP-Spezifikation definiert.
Der PC ist mit einem einzelnen Audiogerät verbunden, das Stereo-Renderdatenströme und Mono-Aufnahmedatenströme unterstützt. Das Gerät kann einen Audiokanal auf einem einzelnen CIS für eine bestimmte Richtung verarbeiten.
Anwendungsfall | Windows-Audioeinstellungen | Bluetooth Controller-Einstellungen |
---|---|---|
Anruf | Render: Signalverarbeitungsmodus: Kommunikation Kanalanzahl: 1 Erfassen: Signalverarbeitungsmodus: Standard Kanalanzahl: 1 |
CIS-Anzahl: 2 CIG Count: 1 BAP-QoS-Einstellungen: Niedrige Latenz |
Wiedergabe von Videospielen mit Sprachchat | Render: Signalverarbeitungsmodus: Kommunikation Kanalanzahl: 2 Erfassen: Signalverarbeitungsmodus: Standard Kanalanzahl: 1 |
CIS-Anzahl: 2 CIG Count: 1 BAP-QoS-Einstellungen: Niedrige Latenz |
Grundlegende Audioprofilkonfiguration 8(ii)
Die folgende Audiokonfiguration ist in Tabelle 4.1 der Bluetooth BAP-Spezifikation definiert.
Der PC ist mit einer koordinierten Gruppe von Audiogeräten verbunden. Jedes Setmitglied empfängt einen Kanal mit Renderaudio. Ein einzelnes Set-Element verfügt über einen etablierten Aufnahmedatenstrom. Das set-Mitglied mit dem Aufnahmedatenstrom ist das erste Set-Element, das eine Verbindung mit dem PC herstellt, der auch Aufnahmedatenströme unterstützt.
Anwendungsfall | Windows-Audioeinstellungen | Bluetooth Controller-Einstellungen |
---|---|---|
Anruf | Render: Signalverarbeitungsmodus: Kommunikation Kanalanzahl: 1 Erfassen: Signalverarbeitungsmodus: Standard Kanalanzahl: 1 |
CIS-Anzahl: 2 CIG Count: 1 BAP-QoS-Einstellungen: Niedrige Latenz |
Wiedergabe von Videospielen mit Sprachchat | Render: Signalverarbeitungsmodus: Kommunikation Kanalanzahl: 2 Erfassen: Signalverarbeitungsmodus: Standard Kanalanzahl: 1 |
CIS-Anzahl: 2 CIG Count: 1 BAP-QoS-Einstellungen: Niedrige Latenz |
Nur Erfassungskonfigurationen
Grundlegende Audioprofilkonfiguration 2
Die folgende Audiokonfiguration ist in Tabelle 4.1 der Bluetooth BAP-Spezifikation definiert.
Der PC ist mit einem einzelnen Audiogerät verbunden, das Mono-Aufnahmedatenströme unterstützt.
Anwendungsfall | Windows-Audioeinstellungen | Bluetooth Controller-Einstellungen |
---|---|---|
Sprachanruf ohne Lautsprecher auf dem Gerät | Rendern: Keine Erfassen: Signalverarbeitungsmodus: Standard Kanalanzahl: 1 |
CIS-Anzahl: 1 CIG Count: 1 BAP-QoS-Einstellungen: Niedrige Latenz |
Grundlegende Audioprofilkonfiguration 9(i)
Die folgende Audiokonfiguration ist in Tabelle 4.1 der Bluetooth BAP-Spezifikation definiert.
Der PC ist mit einem einzelnen Audiogerät verbunden, das das Senden von Stereo-Audiodaten unterstützt. Das Gerät kann einen Audiokanal auf einem einzigen CIS codieren.
Anwendungsfall | Windows-Audioeinstellungen | Bluetooth Controller-Einstellungen |
---|---|---|
Mikrofonaufnahme mit mehreren Kanälen | Rendern: Keine Erfassen: Signalverarbeitungsmodus: Standard Kanalanzahl: 1 |
CIS-Anzahl: 2 CIG Count: 1 BAP-QoS-Einstellungen: Niedrige Latenz |
Grundlegende Audioprofilkonfiguration 9(ii)
Der PC ist mit einem einzelnen Audiogerät verbunden, das Mono-Aufnahmedatenströme unterstützt.
Die folgende Audiokonfiguration ist in Tabelle 4.1 der Bluetooth BAP-Spezifikation definiert.
Der PC ist mit einer Reihe von Audiogeräten verbunden. Jedes Satzmitglied sendet einen Kanal von Audio an den PC.
Anwendungsfall | Windows-Audioeinstellungen | Bluetooth Controller-Einstellungen |
---|---|---|
Mikrofonaufnahme mit mehreren Kanälen | Rendern: Keine Erfassen: Signalverarbeitungsmodus: Standard Kanalanzahl: 1 |
CIS-Anzahl: 2 CIG Count: 1 BAP-QoS-Einstellungen: Niedrige Latenz |
Wenn das Remotegerät oder die Gerätemenge bidirektionales Audio unterstützt, sind die Konfigurationen für einen Aufnahmedatenstrom identisch mit bidirektionalen Konfigurationen. Dies ermöglicht Übergänge von der Erfassung nur von Szenarien zu bidirektionalen Szenarien, ohne dass die Datenströme neu erstellt werden müssen.
Datenstrukturen
Microsoft definierte Bluetooth LE Audio-Schnittstelleneigenschaften
Datenstromerstellungseigenschaften
Die folgenden Eigenschaften werden zwischen dem herstellerspezifischen Audiotreiberstapel und dem Bluetooth LE-Audioprofil über die ACXOBJECTBAG DDIs geteilt, um Entscheidungen über die Erstellung und Konfiguration von Streamendpunkten zu informieren, wie im Stream Creation-Szenario gezeigt.
BluetoothLEAudio_CodecCapabilities
Diese Eigenschaft wird vom Audiotreiber festgelegt, um die Unterstützung für Audiostreamingfunktionen anzugeben, die im Audiotreiber oder Audio-DSP unterstützt werden. Der Eigenschaftswert wird mithilfe des DDI AcxObjectBagAddBlob festgelegt, und das Format des Werts entspricht einem PAC-Eintrag, wie in der PACS-Spezifikation definiert.
Das Windows Bluetooth LE Audio-Profil liest die Eigenschaft vor, um die möglichen Codeckonfigurationen und die zu verwendende Streamkomposition zu ermitteln.
Feld | Oktett |
---|---|
Anzahl der Funktionen | 0 |
Codec-ID[i] | 1-6 |
Länge der codecspezifischen Funktionen[i] | 7 |
Codecspezifische Funktionen | 8... n |
Metadatenlänge (m) | n + 1 |
Metadaten | n+2... m |
Feldwerte werden in den Tabellen 3.2 und 3.4 der PACS-Spezifikation definiert.
Bluetooth_DatapathID
Diese Eigenschaft wird vom Audiotreiber festgelegt, um die Datenpfad-ID anzugeben, die als Parameter für die Befehle HCI_LE_Setup_ISO_Data_Path und HCI_Configure_Data_Path verwendet wird. Der Eigenschaftswert wird mithilfe des AcxObjectBagAddUI8 DDI festgelegt.
Das Bluetooth LE Audio-Profil liest diese Eigenschaft und verwendet diese Eigenschaft als Parameter in HCI_Configure_Data_Path und HCI_LE_Setup_ISO_Data_Path Befehlen. Diese ID wird für alle isochronen Datenströme angewendet, die für den ACXSTREAM erstellt wurden, der dem Objektbehälter zugeordnet ist.
Feld | Oktett |
---|---|
Datenpfad-ID | 0 |
Wenn die Eigenschaft nicht vom Audiotreiber festgelegt wird, verwendet das Betriebssystem den Wert 1 als Parameter für die HCI-Befehle.
Bluetooth_DatapathConfiguration
Diese Eigenschaft wird vom Audiotreiber festgelegt, um herstellerspezifische Konfigurationen für den Bluetooth-Controller über den Befehl HCI_Configure_Data_Path bereitzustellen. Er darf nicht größer als 255 Byte sein, was die größte Nutzlast ist, die ein Bluetooth-Controller für einen HCI-Befehl akzeptiert. Der Eigenschaftswert wird mithilfe des AcxObjectBagAddBlob DDI festgelegt. Diese Konfiguration wird für alle vom Audiotreiber festgelegten Datenpfad-ID angewendet.
BluetoothLEAudio_CodecConfiguration
Diese Eigenschaft muss vom Bluetooth LE Audio-Profil mithilfe des DDI AcxObjectBagAddBlob festgelegt werden, nachdem die Codeckonfiguration mit einem Audiogerät konfiguriert wurde. Die Struktur des Werts lautet:
Feld | Oktett |
---|---|
Konfigurationsanzahl | 0 |
Codierungsformat[i] | 3 |
Firmen-ID[i] | 1-2 |
Anbieterspezifische Codec-ID[i] | 3-4 |
Codecspezifische Konfigurationslänge[i] | 5 |
Codecspezifische Konfiguration[i] | 6... n |
Feldwerte werden in Tabelle 4.3 der Bluetooth Audio Stream Control Service Specification definiert.
Der herstellerspezifische Audiotreiberstapel sollte diese Eigenschaft lesen, wenn sich der LC3-Codec im ACX-Streamingtreiber oder Audio-DSP befindet.
Schnittstellen
Bindungs-IDs der Audioendpunktvorlage
Wird von der ACX-Schaltkreisfabrik des Audiotreibers verwendet, um zu wissen, wann eine ACX-Schaltung für ein gekoppeltes Bluetooth-Gerät erstellt wird.
Die folgenden Komponenten-IDs werden zum Erstellen von Bluetooth LE-Audioschaltungen verwendet:
// {5C52FDB5-722A-4AB7-A342-70163B7E9B5C}
DEFINE_GUID(GUID_BLUETOOTH_LEAUDIO_RENDER_COMPONENT_ID,
0x5c52fdb5, 0x722a, 0x4ab7, 0xa3, 0x42, 0x70, 0x16, 0x3b, 0x7e, 0x9b, 0x5c);
// {1DFF2EE3-AE89-441C-BDE3-24F885C55DF8}
DEFINE_GUID(GUID_BLUETOOTH_LEAUDIO_CAPTURE_COMPONENT_ID,
0x1dff2ee3, 0xae89, 0x441c, 0xbd, 0xe3, 0x24, 0xf8, 0x85, 0xc5, 0x5d, 0xf8);
Bluetooth LE Audio-Unterstützungsschnittstelle
Wird vom Audiotreiberstapel verwendet, um anzugeben, dass es für das Streaming von Bluetooth LE Audio verfügbar ist. Windows Bluetooth Audio service-level watch for this interface and wait until it's published before enabling Bluetooth LE Audio support.
Die folgenden Schnittstellen-IDs werden verwendet, um die Bluetooth LE Audio-Unterstützungsschnittstelle zu veröffentlichen:
// {BA02FA1B-0FD0-4A0F-A748-4FAE2E2D2F67}
DEFINE_GUID(GUID_BLUETOOTH_LEAUDIO_SUPPORT_INTERFACE,
0xba02fa1b, 0x0fd0, 0x4a0f, 0xa7, 0x48, 0x4f, 0xae, 0x2e, 0x2d, 0x2f, 0x67);
Sequenzen
Initialisierung des Audiotreibers
Wenn der IHV ACX Streaming-Treiber geladen und bestimmt, dass es Bluetooth LE Audio Streaming unterstützt, zeigt er Unterstützung für die Technologie an, indem ein ACXFACTORYCIRCUIT-Objekt erstellt und für Bluetooth-Vorlagenbindungen mit ACX registriert wird, indem die IDs verwendet werden, die in Audio Endpoint Template Binding IDs definiert sind.
Endpunkterstellung
- Wenn ein LE-Audiogerät mit dem System gekoppelt ist, wird das Bluetooth LE-Audioprofil:
- Liest die veröffentlichten Audiofunktionen des Remotegeräts.
- Ermittelt die unterstützten Funktionen des Controllers, indem die Befehle HCI_Read_Local_Support_Codecs [v2] und HCI_Read_Local_Supported_Codec_Capabilities gesendet werden.
- Erstellt einen ACXCIRCUIT mit den unterstützten Formaten basierend auf den Codec-Funktionen, die vom Bluetooth-Controller und Remoteaudiogerät unterstützt werden. Wenn der Controller keine Codecs unterstützt, da sich die Codec-Unterstützung im Audio-DSP oder Audiotreiber befindet, werden die unterstützten Formate auf die vom Remoteaudiogerät unterstützten Formate festgelegt.
- Nach dem Erstellen des ACXCIRCUIT fordert ACX die ACX-Schaltkreisfabrik des IHV ACX-Streamingtreibers an, um einen ACXCIRCUIT für die Datenstromverarbeitung zu erstellen.
- Wenn eine Anforderung zum Erstellen eines Schaltkreises empfangen wird, wird der IHV ACX-Streamingtreiber:
- Erstellt ACXCIRCUIT-, ACXPIN-, ACXOBJECTBAG- und ACXSTREAMBRIDGE-Objekte .
- Wenn der lc3- oder herstellerspezifische Codec im Audiotreiber oder DSP gehostet wird, legt der IHV ACX-Streamingtreiber die BluetoothLEAudio_CodecCapabilities-Eigenschaft für das ACXOBJECTBAG fest.
- Der IHV ACX-Streamingtreiber kann Bluetooth_DatapathID oder Bluetooth_DatapathConfiguration auf der ACXOBJECTBAG festlegen, wenn er zu diesem Zeitpunkt bekannt ist.
- Nachdem beide Schaltkreise erstellt wurden, ruft ACX den EvtAcxPinConnected-Rückruf auf dem IHV ACX-Brückenstift auf.
- Wenn es sich um evtAcxPinConnected-Rückruf handelt, wird der IHV ACX-Streamingtreiber aufgerufen:
- Ruft den Brückennadel der Profilschaltung mit AcxTarget ab... APIs zum Abrufen der formate, die von der Profilschaltung unterstützt werden.
- Durchläuft die Liste der ACXDATAFORMAT-Sätzedurch die Profilschaltung. Wenn der Bluetooth-Audiocodec im Audiotreiber oder Audio-DSP gehostet wird, aktualisiert der IHV-Audiotreiber seine ACXDATAFORMATs mit den Formaten, die vom Codec und profilkreis unterstützt werden. Andernfalls werden alle Formate in den HOST-PIN des IHV ACX-Streamingtreibers kopiert.
- Legt die aktualisierte Formatliste auf dem Brückennadel fest, wenn ein Audiomodul für das Offloadstreaming erstellt wird.
- Nachdem die Formate aktualisiert wurden, aktiviert ACX sowohl Schnittstellen als auch einen Audioendpunkt.
Streamerstellung
- Wenn eine Anwendung anfordert, einen Audiodatenstrom zu erstellen, ruft ACX die registrierten EvtCircuitCreateStream-Rückrufe für jeden Schaltkreis auf, beginnend mit dem IHV ACX-Streamingtreiber.
- Wenn der EvtCircuitCreateStream-Rückruf aufgerufen wird, wird der IHV ACX-Streamingtreiber:
- Legt die eigenschaften Bluetooth_DatapathId und Bluetooth_DataPathConfiguration für das ACXOBJECTBAG, das an acXSTREAMBRIDGE angefügt ist, fest oder aktualisiert sie.
- Erstellt einen ACXSTREAM mit Rückrufen, die für Datenstromstatusübergänge und RT-Datenstromverarbeitung festgelegt sind.
- Erstellt ein Audiomodulelement im Stream, wenn die Audiopipeline das Offload-Streaming unterstützt.
- Fügt den ACXSTREAM zu seiner Stream-Brücke hinzu. Dadurch wird der EvtCircuitCreateStream-Rückruf des Bluetooth LE Audio-Profils aufgerufen.
- Wenn der EvtAcxCircuitCreateStream-Rückruf aufgerufen wird, wird das Bluetooth LE Audio-Profil:
- Speichert die Eigenschaften lokal aus dem ACXOBJECTBAG-Satz des IHV ACX-Streamingtreibers für zukünftige Streamübergangsrückrufe.
- Wenn der Audioendpunkt für Unicaststreaming des Bluetooth LE-Audioprofils vorgesehen ist:
- Führt den Config Codec Operation gemäß definition in der BAP-Spezifikation aus. Die Parameter für den Vorgang werden vom ACXDATAFORMAT abgeleitet, das im EvtAcxCircuitCreateStream-Rückruf angegeben ist, und entweder von den anderen Datenstromparametern im ACXOBJECTBAG oder den codec-Funktionen, die vom Bluetooth Controller unterstützt werden.
- Legt die eigenschaft BluetoothLEAudio_CodecConfiguration für acXOBJECTBAG mit dem Wert fest, der zum Konfigurieren der Remoteaudiogeräte verwendet wird.
- Wenn der IHV ACX-Streamingtreiber seine Datenpfad-ID oder Datenpfadkonfiguration basierend auf den vom Profil festgelegten Objektbehälterwerten aktualisieren muss, kann er die KSPROPERTY-Setvorgänge aufrufen, um den vom Profilkreis gespeicherten Wert zu aktualisieren.
- Erstellt einen ACXSTREAM mit Rückrufen, die für Datenstromstatusübergänge festgelegt sind.
Streamstatusübergänge
ACX entscheidet über die Schaltkreisreihenfolge von Datenstromzustandsübergängen basierend auf dem Audiofluss und ob der Zustand zu einem aktiveren oder weniger aktiven Zustand wechselt.
- Für Renderdatenströme, die von einem weniger aktiven Zustand zu einem aktiveren Zustand wechseln, empfängt die Profilschaltung zuerst das Ereignis, gefolgt von der Streamingschaltung.
- Für Renderdatenströme, die von einem aktiveren Zustand zu einem weniger aktiven Zustand wechseln, empfängt der Streaming-Schaltkreis zuerst das Ereignis, gefolgt von der Profilschaltung.
- Für Aufnahmedatenströme, die von einem weniger aktiven Zustand zu einem aktiveren Zustand wechseln, empfängt der Streaming-Schaltkreis zuerst das Ereignis, gefolgt von der Profilschaltung.
- Für Aufnahmedatenströme, die von einem aktiveren Zustand zu einem weniger aktiven Zustand wechseln, erhält die Profilschaltung zuerst das Ereignis, gefolgt von der Streamingschaltung.
Vorbereiten des Datenstroms
Wenn der EvtAcxStreamPrepareHardware-Rückruf aufgerufen wird, wird das Bluetooth LE Audio-Profil:
- Ordnet Ressourcen für einen Unicast-Datenstrom zu:
- Konfigurieren einer CIG mit dem Befehl HCI_LE_Set_CIG_Parameters.
- Senden des QoS-Vorgangs "ASCS config" zum Synchronisieren von Einstellungen mit dem Remotegerät.
Wenn der EvtAcxStreamPrepareHardware-Rückruf aufgerufen wird, weist der IHV ACX-Streamingtreiber die erforderlichen Streamingressourcen zu und initialisiert die Audiopipeline, die sich im erworbenen Zustand befindet.
Starten des Datenstroms
Wenn der EvtAcxStreamRun-Rückruf aufgerufen wird, wird das Bluetooth LE-Audioprofil:
- Wendet alle Konfigurationseinstellungen für den Datenpfad an, die vom ACX-Streamingtreiber im Datenstromerstellungsverfahren mithilfe des Befehls HCI_Configure_Data_Path festgelegt werden.
- Beginnt mit der Datenstromstartprozedur mit:
- Ausführen der BAP-Unicaststream-Aktivierungsprozedur für einen Unicast-Stream:
- Senden des Aktivierungsvorgangs an die Remoteendpunkte.
- Erstellen von CISes, wenn sie noch nicht mithilfe des Befehls HCI_LE_Create_CIS erstellt wurden.
- Ausführen der BAP-Unicaststream-Aktivierungsprozedur für einen Unicast-Stream:
- Wenn der Datenpfad noch nicht konfiguriert ist, ist das Bluetooth LE Audio-Profil:
- Richtet die ISO-Datenpfade mithilfe des Befehls HCI_LE_Setup_ISO_Data_Path ein.
- Wenn der IHV ACX-Streamingtreiber die eigenschaft BluetoothLEAudio_CodecCapabilities festlegt, wird der Wert des felds Codec_ID in HCI_LE_Setup_ISO_Data_Path auf transparent (0x3) festgelegt, wie in bluetooth Assigned Numbers definiert. Andernfalls entspricht der Wert der Codec-ID, die im Konfigurationscodec-Vorgang im Datenstromerstellungsverfahren verwendet wird.
- Richtet die ISO-Datenpfade mithilfe des Befehls HCI_LE_Setup_ISO_Data_Path ein.
- Wenn der Audiodatenstrom ein Unicast-Aufnahmedatenstrom ist, führt das Bluetooth LE Audio-Profil den BAP-Empfänger startbereit aus.
Wenn der EvtAcxStreamRun-Rückruf aufgerufen wird, startet der IHV ACX-Streamingtreiber die Verarbeitung eingehender Audiodaten vom Windows-Audiosystem (Rendern) oder vom Bluetooth-Controller (Aufnahme).
Stream anhalten
Wenn der EvtAcxStreamPause-Rückruf aufgerufen wird, wird das Bluetooth LE-Audioprofil:
- Führt die Prozedur zum Deaktivieren des BAP-Unicastdatenstroms aus.
- Entfernt den ISO-Datenpfad mithilfe des Befehls HCI_LE_Remove_ISO_Data_Path.
- Führt die ASCS-Empfänger-Bereit-Prozedur aus, wenn der Audiodatenstrom ein Unicast-Aufnahmedatenstrom ist.
Wenn der EvtAcxStreamPause-Rückruf aufgerufen wird, hält der IHV ACX-Streamingtreiber seine Audioverarbeitungspipeline an.
Releasestream
Wenn der EvtAcxStreamReleaseHardware-Rückruf aufgerufen wird, führt das Bluetooth LE-Audioprofil die BAP-Unicast-Stream-Releaseprozedur durch:
- Senden des ASCS Release-Vorgangs an das Bluetooth LE-Remotegerät
- Trennen sie die CIS, wenn sie nicht von einem anderen aktiven Datenstrom verwendet wird.
- Entfernen der CIG, wenn alle CISes getrennt sind.
Wenn der EvtAcxStreamReleaseHardware-Rückruf aufgerufen wird, gibt der IHV ACX-Streamingtreiber seine Audiopipelineressourcen frei.
Endpunkttrennung
Das Windows Bluetooth LE Audio-Profil aktualisiert den Verbindungsstatus eines Endpunkts, wenn das Remote-Unicast-Gerät keine LE-ACL-Verbindung mit dem PC aufweist oder über seine PACS verfügbaren Audiokontexte meldet, dass es nicht zum Streaming verfügbar ist. Wenn der Endpunkt getrennt wird, werden alle aktiven Datenströme an den Endpunkt vom Windows-Audiodienst ungültig. Dies führt dazu, dass die Datenstrom-Pausen- und Freigabesequenzen auftreten.
Entfernen von Endpunkten
Ein Bluetooth LE Audio-Endpunkt wird aus dem System entfernt, wenn entweder die Profilschaltung oder der Streaming-Schaltkreis zerstört wird. Die Profilschaltung kann entfernt werden, wenn die Kopplung des Remote-Unicast-Geräts aus Windows entfernt wird oder das Bluetooth-Funkgerät deaktiviert ist.
- Wenn das Windows Bluetooth LE Audio-Profil seinen Schaltkreis entfernt, deaktiviert ACX seine Endpunktschnittstellen, um dem Windows-Audiodienst zu signalisieren, dass der Endpunkt entfernt werden soll.
- Wenn die Schnittstellen deaktiviert sind, werden vom Windows-Audiodienst alle aktiven Datenströme an den Bluetooth LE Audio-Endpunkt ungültig. Dieser Vorgang führt dazu, dass der Datenstrom angehalten wird und Rückrufe freigegeben werden, die auf dem Streaming-Schaltkreis aufgerufen werden.
- Um die Entfernung des Endpunkts abzuschließen, wird die IHV ACX-Streamingtreiberschaltung ungültig, was dazu führt, dass die WDF den Bereinigungsrückruf des Schaltkreises aufruft.
- Wenn der Bereinigungsrückruf aufgerufen wird, gibt der IHV ACX-Streamingtreiber seinen Schaltkreis frei.
Lautstärke und Stummschaltung
Die IHV ACX-Streamingschaltung sollte nur Lautstärke- und Stummschaltungselemente enthalten, wenn der Streamingtreiber ein Audiomodul benötigt. Bei Verwendung eines Audiomoduls müssen die Konfigurationskennzeichnungen wie diese festgelegt werden:
ACX_AUDIOENGINE_CONFIG audioEngineCfg;
ACX_AUDIOENGINE_CONFIG_INIT(&audioEngineCfg);
…
audioEngineCfg.Flags |= AcxAudioEngineConfigVolumeSecondary; // Use this control only if endpoint doesn't have one.
audioEngineCfg.MuteElement = muteElement;
audioEngineCfg.Flags |= AcxAudioEngineConfigMuteSecondary; // Use this control only if endpoint doesn't have one.
audioEngineCfg.PeakMeterElement = peakmeterElement;
audioEngineCfg.Flags |= AcxAudioEngineConfigPeakMeterSecondary; // Use this control only if endpoint doesn't have one.
Dies ist erforderlich, damit Bluetooth LE Audio-Endpunkte die definierten Bluetooth SIG-Lautstärke- und Mikrofonsteuerungsprofile für Lautstärke- und Stummschaltungsänderungen für Unicast-Audioendpunkte verwenden können.
Wenn das Remote-Bluetooth LE-Audiogerät die Lautstärke- oder Mikrofonsteuerungsdienste nicht unterstützt oder der Endpunkt für Die Übertragung von Audio erstellt wird, muss die Lautstärke und die Stummschaltung der Elemente im Audiomodul als Fallback dienen, um die Änderungsanforderungen vom Audiosystem zu verarbeiten. Das Windows-Audiosystem behandelt Änderungen an Lautstärke und Stummschaltung. Wenn kein Audiomodul vorhanden ist und das Remotegerät die Lautstärke nicht unterstützt, oder mikrofondienste oder der Audioendpunkt für die Audioübertragung.
Bluetooth LE und klassische Audio-Koexistenz
Windows stellt sicher, dass nur klassische Audio- oder LE-Audiodaten für ein gekoppeltes Bluetooth-Audiogerät aktiv sind, das beide Technologien unterstützt. Wenn LE-Audio aktiv ist, werden die Sideband-DDIs für A2DP und HFP für das Remotegerät deaktiviert, und die Profilschaltung wird für den LE-Audioendpunkt erstellt. Wenn klassische Audio aktiv ist, werden die Sideband-DDIs für A2DP und HFP für das Remotegerät aktiviert, und die Profilschaltung wird für den LE-Audioendpunkt nicht erstellt.
Energieverwaltung
Bluetooth LE Audio verfügt über keine Energieverwaltungsanforderungen oder Flüsse außerhalb des bereits von WDF definierten Bereichs.
Zugehörige Themen
- ACX-Audioklassenerweiterungen
- Bluetooth Basic-Audioprofilspezifikation
- Bluetooth Core 5.3-Spezifikation
- Bluetooth Published Audio Capabilities Service Specification
- Bluetooth Audio Stream Control Service Specification
- Zugewiesene Bluetooth-Nummern
- Richtlinien zur Bluetooth-HFP-Umgehung für Audiotreiber
- Bluetooth HFP-Umgehung des Audiostreamings