在线时间8 小时
UID253095
注册时间2010-12-9
NXP金币0
该用户从未签到
新手上路

- 积分
- 49
- 最后登录
- 1970-1-1
|
最近我在调式官方USB 例程包的audio_generator,按照的是官方的usb库。D:\Freescale\Freescale USB Stack v4.1.1\Source\Device\app;;;
官方的audio_generator是一个USB录音设备,往PC端发Audio数据,我们打开一个录音设备就可以测试调式。官方例程是默认的8K采样率,8bit采样位数。但是我现在想把它修改为采样率16K,采样位数16bit,发现修改之后,我的 录音设备就识别不到我的Audio设备。---不知道哪位大侠搞过,支持下,谢谢。
我修改的地方:
/* USB speaker audio type I format interface descriptor */
AUDIO_STREAMING_TYPE_I_DESC_SIZE,/* bLength (11) */
AUDIO_INTERFACE_DESCRIPTOR_TYPE, /* bDescriptorType (CS_INTERFACE) */
AUDIO_STREAMING_FORMAT_TYPE, /* DescriptorSubtype: AUDIO STREAMING FORMAT TYPE */
AUDIO_FORMAT_TYPE_I, /* Format Type: Type I */
0x01, /* Number of Channels: one channel */
0x02,//0x01 /* SubFrame Size: one byte per audio subframe */
0x10, /* Bit Resolution: 16bits per sample */
0x01, /* One frequency supported */
//0x40,0x1F,0x00, /* 8 kHz 0x001F40 */
0x80,0x3E,0x00, // -----16K(0x003E80) -----
上面三处是我修改的地方;
另外我还修改了相对应的Endpoint每1ms发送的数据字节大小。对于16K,16bit,每ms应该是32byte。
/*Endpoint 1 - standard descriptor*/
ENDP_ONLY_DESC_SIZE, /* bLength (9) */
USB_ENDPOINT_DESCRIPTOR, /* Descriptor type (endpoint descriptor) */
0x81, /* OUT endpoint address 1 */
0x05,// 0x01, /* Isochronous endpoint */
0x20,0x00, /* 32 bytes */
#ifdef USBHS
0x04,
#else
0x01, /* 1 ms */
#endif
0x00,
0x00,
|
|