UAC协议基础第一篇: UAC类设备相关的描述符

目录

一、描述符

1. 设备描述符

2. 配置描述符

2.1 配置描述符集合的总长度

3. 音频控制(AC)接口描述符

3.1 标准AC接口描述符

3.2 类特有AC接口描述符

3.2.1 类特有AC接口头描述符(AC Interface Header Descriptor)

3.2.2 输入终端描述符(ITD)

3.2.3 输出终端描述符(OTD)

3.2.4 单元描述符(UID)

3.2.4.1特征单元描述符

3.3 AC中断端点描述符

3.3.1标准AC中断端点描述符

3.3.2 类特有AC中断端点描述符

4. 音频流(AS)接口描述符

4.1 标准AS接口描述符

4.2 类特有AS接口描述符

4.3 类特有音频流数据格式描述符

4.4 音频流数据传输端点描述符

4.4.1 标准音频流数据传输端点

4.4.1.1 标准音频流数据传输端点描述符

4.4.1.2 标准音频流数据同步端点描述符

4.4.2 类特有音频流数据传输端点


USB音频设备是最难开发的设备,官方文档描述特别复杂。结合自己的开发经历,这里分享一些个人见解。

一、描述符

1. 设备描述符

跟其他USB设备类一样,USB音频设备由标准设备描述符来定义。设备描述符里面的bDeviceClass、bDeviceSubClassbDeviceProtoco这三个字段设置为0,类定义的相关信息在接口层(接口描述符)里面去定义。

2. 配置描述符

音频类设备的配置描述符并没有特殊的定义,所以使用的也还是标准配置描述符。其中字段wTotalLength是整个配置描述符集合的总长度,配置描述符集合就包括:配置描述符自身、接口描述符、类特殊描述符、端点描述符等。

  • 7
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android UAC设备开发,UAC是指USB音频协议,它是一种用于音频设备与Android智能设备之间通信的协议。在Android系统中,我们可以通过UAC协议与外接的USB音频设备进行交互,实现音频的录制、播放和控制等功能。 Android UAC设备开发的主要步骤如下: 1. 准备开发环境:首先需要安装Android开发工具包(ADT)以及相应的USB驱动程序,此外还需要一台支持USB OTG的Android设备。 2. 配置权限:在AndroidManifest.xml文件中,需要声明相应的权限,例如USB权限和音频权限等。 3. 建立USB连接:通过USBManager获取USB设备,根据设备标识符进行过滤,并建立USB连接。 4. 发现和选择设备:使用UsbDeviceConnectionUSB设备进行通信,通过设备描述符和接口描述符等信息来发现和选择要操作的UAC设备。 5. 配置设备:根据UAC设备的要求,配置其采样率、通道数、位深度等参数,并打开音频流。 6. 音频数据传输:使用AudioRecord进行音频的录制,通过USB传输给外接设备;使用AudioTrack进行音频的播放,通过USB接收外接设备传输过来的音频数据。 7. 控制设备:通过UAC协议中定义的控制命令,实现音量调节、播放控制等功能。 8. 释放资源:在程序结束时,需要释放相应的资源,关闭连接、停止录制、停止播放等。 总结来说,Android UAC设备开发主要涉及USB连接、设备发现、配置和控制,音频数据传输等方面。通过上述步骤,我们可以在Android平台上与外接的USB音频设备进行交互,实现音频的录制、播放和控制等功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值