Идентификатор контейнера конечной точки аудио

В этой статье рассматриваются надежные методы получения идентификатора контейнера конечной точки звука, связанной с аудиоустройством Bluetooth.

Построитель звуковых конечных точек использует алгоритм перечисления для определения идентификаторов контейнеров конечных точек аудио и хранения этих идентификаторов в качестве свойств в хранилище свойств конечной точки MMDEVAPI. В некоторых случаях логика, используемая построителем конечных точек, недостаточна для обработки проектов Bluetooth I2S, где идентификатор контейнера конечной точки аудио, предоставляемый звуковым драйвером, определяется другим перечислителем — перечислителем Bluetooth.

Этот сценарий с использованием дизайна Bluetooth I2S, использующего собственный перечислитель Bluetooth, является редким. Однако вы можете разработать звуковой драйвер, чтобы обеспечить поддержку такого сценария. В этом случае звуковой драйвер может поддерживать новое свойство идентификатора контейнера для конечных точек. Новое свойство KSPROPERTY_JACK_CONTAINERID и добавлено в существующий набор свойств KSPROPSETID_Jack . Значением является GUID, который является типом данных для идентификатора контейнера.

Звуковой драйвер поддерживает KSPROPERTY_JACK_CONTAINERID, если и только если он может надежно получить правильный идентификатор контейнера посредством других средств, например, из перечислителя Bluetooth.

Если звуковой драйвер поддерживает свойство KSPROPERTY_JACK_CONTAINERID , звуковая система считывает значение этого свойства из драйвера и сохраняет значение в качестве идентификатора контейнера для конечной точки звука.

Дополнительные сведения об идентификаторах контейнеров и алгоритме, упомянутых ранее, см. в статье "Идентификатор контейнера " и "Построитель конечных точек аудио".

Теория обходного метода потоковой передачи аудио через Bluetooth