• USB设备的音频类UAC


    一、UAC简介

            UAC(USB Audio Class)是USB设备的音频类,它定义了USB音频设备与主机计算机通信的方式。UAC标准是USB规范的一部分,并受到各种操作系统(包括Windows、macOS和Linux)的支持。

            UAC是基于libusb,实现对外接音频操作,从用户功能来说,主要包括USB麦克风、USB声卡和其它音频设备的功能控制和接口标准。

    二、UAC标准的主要功能包括:

            (1)设备枚举和配置: UAC标准定义了USB音频设备如何由主机计算机枚举和配置。这包括识别设备,确定其功能以及加载相应的驱动程序。

            (2)音频数据传输: UAC标准定义了音频数据如何在USB音频设备和主机计算机之间传输。这包括设置采样率、位深度和通道数,以及传输音频数据包。

            (3)控制和功能支持: UAC标准定义了一套标准控件和功能,由USB音频设备支持。这包括音量控制、静音和增益控制,以及更高级的功能,例如混音器路由和效果处理。

    三、UAC设备可用于多种目的,包括:

            (1)录音: UAC设备可用于从麦克风或其他模拟源录制音频。

            (2)播放: UAC设备可用于从数字源(例如计算机或媒体播放器)播放音频。

            (3)处理: UAC设备可用于处理音频,例如应用效果或混合多个源。

    UAC是一种通用且广泛支持的标准,可轻松将USB音频设备连接到计算机。 因此,UAC设备通常用于各种应用,包括音乐制作、家庭影院和游戏。

    四、以下是使用UAC标准的一些USB设备示例:

            (1)USB麦克风: USB麦克风是录音的流行选择,因为它们易于使用并提供高品质的声音。

            (2)USB耳机: USB耳机通常用于VoIP通话和游戏,因为它们提供麦克风和扬声器功能。

            (3)USB DAC: USB DAC(数字模拟转换器)将来自计算机的数字音频信号转换为模拟信号,可由扬声器或耳机播放。

            (4)USB音频接口: USB音频接口是多功能设备,可用于各种目的,例如录音、播放和处理音频。

    五、UAC设备类

    六、USB音频子类

            USB音频类定义在接口层,而USB音频类又分为不同的子类(SubClass)以便于进一步的细节枚举和设置。所有的USB音频功能都被包括在USB音频类的子类中。USB定义了3种不同的音频子类:

            (1) AudioControl Interface Subclass 音频控制接口子类

            (2) AudioStreaming Interface Subclass 音频流接口子类

            (3) MIDIStreaming Interface Subclass MIDI流接口子类

    七、USB标准描述符

            在USB设备的逻辑组织中,包含devices、config、interface和endpoint4个层次。

            根据usb描述符相关知识得知,usb有config,然后下面有多个interface,interface下面有多个endpoint。根据interface的class和subclass值可以区分interface类型,比如video的class值是14,audio的class值是1等,根据这个可以识别复合设备的interface。然后每个interface下面有多个endpoint,endpoint存在address,这个是数据传输的通道。每个endpoint存在不同的数据格式,比如我在项目中使用的多个usb麦克风,有的MIC每个endpoint对应一种格式,比如双通道/16位/48KHZ。但也有一个endpoint对应多种格式的

    UAC使用以下协议进行通信:

            USB控制传输协议(Control Transfer Protocol): 控制传输协议用于设置设备参数和监控设备状态。

            USB批量传输协议(Bulk Transfer Protocol): 批量传输协议用于传输音频数据。

            USB中断传输协议(Interrupt Transfer Protocol): 中断传输协议用于传输状态消息。

     

     

  • 相关阅读:
    Halcon如何使用SaperaLT库连接dalsa相机
    【Leetcode-73.矩阵置零】
    蓝色荧光油溶性/三元核壳结构CuInS2/ZnS/亲水性CZTS量子点
    猿创征文|网络原理——UDP/TCP协议
    Element UI上传图片和PDF,支持预览
    Mysql高级20-性能分析
    管理类联考——英语二——阅读篇——题材:教育
    题目0097-数组组成的最小数字
    Java---Java Web---JSP
    WPF 制作 Windows 屏保
  • 原文地址:https://blog.csdn.net/dddds222_/article/details/138196549