本文讨论获取与蓝牙音频设备关联的音频终结点的容器 ID 的可靠方法。
音频终结点生成器使用枚举算法来确定音频终结点的容器 ID,并将这些 ID 存储为 MMDEVAPI 终结点属性存储中的属性。 在某些情况下,终结点生成器使用的逻辑不足以处理蓝牙 I2S 设计,其中音频驱动程序公开的音频终结点的容器 ID 由另一个枚举器(蓝牙枚举器)确定。
这种涉及使用其自有蓝牙枚举器的蓝牙 I2S 设计的方案是很少见的。 但是,你可以开发音频驱动程序,为此类方案提供支持。 在这种情况下,音频驱动程序可以支持一个新的终结点容器 ID 属性。 新属性KSPROPERTY_JACK_CONTAINERID已经被添加到现有的KSPROPSETID_Jack属性集中。 该值是 GUID,它是容器 ID 的数据类型。
音频驱动程序仅在能够通过其他方式(例如通过蓝牙枚举器)可靠获取正确的容器ID时,才支持KSPROPERTY_JACK_CONTAINERID。
如果音频驱动程序支持 KSPROPERTY_JACK_CONTAINERID 属性,则音频系统从驱动程序读取此属性的值,并将该值存储为音频终结点的容器 ID。
有关前面提到的容器 ID 和算法的详细信息,请参阅 容器 ID 和 音频终结点生成器算法。