UAC 标准音频控制接口描述符
2021-02-03
7040
24
音频控制接口描述符以下的描述符信息包含了音频控制的功能特征信息,音频的各控制功能均是通过音频控制接口描述符之下的各实例,终端进行控制的。
音频控制接口描述符: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;
HID人机交互QQ群:564808376
UAC音频QQ群:218581009
UVC相机QQ群:331552032
BOT&UASP大容量存储QQ群:258159197
STC-USB单片机QQ群:315457461
USB技术交流QQ群2:580684376
USB技术交流QQ群:952873936