yun*_*yun 9 audio usb usb-descriptor
我有点困惑如何在USB Audio Class 2.0中添加对多比特率/采样率的支持.与USB Audio Class 1.0(可以选择添加多种速率等)相比,USB Audio Class 2.0不提供该选项.我该怎么改变我的描述符呢?我在某处读到你使用更多备用设置,但我不知道这会有什么帮助......
这是我的音频格式描述符:
audioformat.bLength = sizeof(usb_audio_format_type_1_desc_t)
audioformat.bDescriptorType = 0x01
audioformat.bDescriptorSubtype = 0x02
audioformat.bFormatType = 0x01
audioformat.bSubSlotSize = 3
audioformat.bBitResolution = 24
Run Code Online (Sandbox Code Playgroud)
谢谢!
是的,所以我想出来,因此赏金并不重要.
要做多个比特率:使用其相应的音频数据格式描述符/ etc进行备用设置,以便按顺序支持不同的比特率; 例如:备用设置0(无端点),备用设置1(包含所有流/类描述符,格式描述符支持16位),备用设置2(包含所有流/类描述符,格式描述符支持24位).
要执行多个采样率:您必须使用CUR,MIN,MAX格式的USB Audio Class 2.0文档,并控制主机.
例如:
#define USB_AUDIO_SAMP_RATE_RANGE { CPU16_TO_LE8_ARRAY(2), \
CPU32_TO_LE8_ARRAY(SAMPLE_RATE_44_1), \
CPU32_TO_LE8_ARRAY(SAMPLE_RATE_44_1), \
CPU32_TO_LE8_ARRAY(0), \
CPU32_TO_LE8_ARRAY(SAMPLE_RATE_48_0), \
CPU32_TO_LE8_ARRAY(SAMPLE_RATE_48_0), \
CPU32_TO_LE8_ARRAY(0)}
Run Code Online (Sandbox Code Playgroud)
作为参考,LE8是低端8位,定义是将16或32位整数转换为以低端格式化的8位整数数组.
| 归档时间: |
|
| 查看次数: |
761 次 |
| 最近记录: |