UAC 标准音频控制接口描述符

欢迎加入字节流官方QQ群:952873936或联系站长进行技术交流。

音频控制接口描述符以下的描述符信息包含了音频控制的功能特征信息,音频的各控制功能均是通过音频控制接口描述符之下的各实例,终端进行控制的。

音频控制接口描述符:Standard AC Interface Descriptor。
音频控制接口描述符的定义如下:

typedef struct _USB_INTERFACE_DESCRIPTOR {
    UCHAR   bLength;
    UCHAR   bDescriptorType;
    UCHAR   bInterfaceNumber;
    UCHAR   bAlternateSetting;
    UCHAR   bNumEndpoints;
    UCHAR   bInterfaceClass;
    UCHAR   bInterfaceSubClass;
    UCHAR   bInterfaceProtocol;
    UCHAR   iInterface;
} USB_INTERFACE_DESCRIPTOR, *PUSB_INTERFACE_DESCRIPTOR;
  • bLength:描述符的字节长度,固定为9字节。
  • bDescriptorType:描述符类型,为接口描述符,固定为4.
  • bInterfaceNumber:接品描述符的编号。从0开始编号。
  • bNumEndpoints:该接口下含有端点数。如果没有数据端点则为0.
  • bAlternateSetting:接口的转换接口号。
  • bInterfaceClass:接口的类型:0x01=AUDIO,表示音频类。
  • bInterfaceSubClass:接口子类型:音频控制类型 AUDIOCONTROL=0x01
  • bInterfaceProtocol:接口协议号。
    • 如果为UAC2.0,则值应为IP_VERSION_02_00 = 0x20
    • 如果为UAC1.0,此值未用,必须设置为0.
  • iInterface:接口的字符串索引.

UAC2.0音频控制接口描述符的初始化为:

   pVCInterfaceDesc->bLength = 0x09;
   pVCInterfaceDesc->bDescriptorType = 0x04;
   pVCInterfaceDesc->bInterfaceNumber = 0x00;
   pVCInterfaceDesc->bAlternateSetting = 0x00;
   pVCInterfaceDesc->bNumEndpoints = 0x00;
   pVCInterfaceDesc->bInterfaceClass = 0x0E;
   pVCInterfaceDesc->bInterfaceSubClass = 0x01; 
   pVCInterfaceDesc->bInterfaceProtocol = 0x20; //uac1.0=0x00 uac2.0=0x20
   pVCInterfaceDesc->iInterface = 0x02;
微信公众号
字节流公众号  字节流QQ群:952873936
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

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

Powered by bytekits.com,汇天下文字,成非凡梦想!!!