UAC麦克风实例分析
+ -

UAC麦克风类特定音频控制接口描述符

2021-07-23 657 0

UAC的类特定音频控制接口描述符又叫类特定音频控制接口头描述符,包含了UAC音频控制各终端,单元的描述符信息。
在UAC规范中,其包含的描述符有:
音频控制接口描述符

关于类特定音频控制接口描述符可详见本站:http://www.usbzh.com/article/detail-222.html

由于该UAC麦克风是基于UAC1.0开发的,所以其类特定音频控制接口描述符的参数如下:
类特定音频控制接口描述符参数

#define DECLARE_UAC_AC_HEADER_DESCRIPTOR(n)\ struct uac1_ac_header_descriptor_## n {\
    __u8 bLength;\
    __u8 bDescriptorType;\
    __u8 bDescriptorSubtype;\
    __le16 bcdADC;\
    __le16 wTotalLength;\
    __u8 bInCollection;\
    __u8 baInterfaceNr[n];\
}
__attribute__((packed))

/* B.3.2  Class-Specific AC Interface Descriptor */
static struct uac1_ac_header_descriptor_1 uac1_header_desc = {
    .bLength = UAC_DT_AC_HEADER_LENGTH,
    .bDescriptorType = USB_DT_CS_INTERFACE,
    .bDescriptorSubtype = UAC_HEADER,
    .bcdADC = __constant_cpu_to_le16(0x0100),
    .wTotalLength = __constant_cpu_to_le16(UAC_DT_TOTAL_LENGTH),
    .bInCollection = F_AUDIO_NUM_INTERFACES,
    .baInterfaceNr = { /* Interface number of the first AudioStream interface */
        [0] = 1,
    }
};

使用Free Device Monitoring Studio 对该设备的类特定音频控制接口描述符抓取显示如下:

  • descriptors[2] = “Class-Specific Interface Descriptor”
  • bLength = 9
  • bDescriptorType = CS_INTERFACE (36)
  • bDescriptorSubtype = 1
  • ac_interface =
  • header =
  • bcdADC = 256
  • bCategory = 39
  • wTotalLength = 256
  • controls =
  • header =
  • LatencyControl = 1
  • Reserved = 0
  • bmControls = 00000001
HID人机交互QQ群:564808376    UAC音频QQ群:218581009    UVC相机QQ群:331552032    BOT&UASP大容量存储QQ群:258159197    STC-USB单片机QQ群:315457461    USB技术交流QQ群2:580684376    USB技术交流QQ群:952873936   

0 篇笔记 写笔记

UAC 类特定音频控制接口头描述符
UAC类特定音频控制头接口描述符这个名字有点绕,其实这个描述符是前接标准的音频控制接口描述符,后续关于音频控制的所有相关描述符,起着承上起下的作用。当然也可以认为是音频控制相关描述符的前导。这是因为UAC类特定音频控制接口描述符含有一个关键的字段wTotalLength,用于包含音频控制所有接口描述......
UAC麦克风类特定音频控制接口描述符
UAC的类特定音频控制接口描述符又叫类特定音频控制接口头描述符,包含了UAC音频控制各终端,单元的描述符信息。在UAC规范中,其包含的描述符有:关于类特定音频控制接口描述符可详见本站:http://www.usbzh.com/article/detail-222.html由于该UAC麦克风是基于......
UAC类特定音频控制接口头描述符baInterfaceNr字段
UAC 类特定音频控制接口头描述符详见:https://www.usbzh.com/article/detail-222.html该接口描述符字段bInCollection表示后面的baInterfaceNr的有效数组个数:typedef struct _USB_AC_HEADER{... ......
关注公众号
  • HID人机交互
  • Linux&USB
  • UAC音频
  • TYPE-C
  • USB规范
  • USB大容量存储
  • USB百科
  • USB周边
  • UVC摄像头
  • Windows系统USB
  • 音视频博客
  • 取消
    感谢您的支持,我会继续努力的!
    扫码支持
    扫码打赏,你说多少就多少

    打开支付宝扫一扫,即可进行扫码打赏哦

    您的支持,是我们前进的动力!