USB CDC
+ -

CDC 电话铃声功能描述符

2025-07-10 0 0

电话铃声功能描述符(Telephone Ringer Functional Descriptor)用于描述设备支持的铃声音量调节级数和铃声模式数量,主机可据此实现对电话设备铃声的控制和管理。

该描述符用于描述通信类接口(SubClass为电话控制,Telephone Control)所支持的铃声能力。它只能出现在接口描述符的类特定部分。

对于多线路电话设备,每条线路通常有独立的通信类接口,通常通过联合功能描述符(Union Functional Descriptor)指定一个接口为主控接口。如果所有线路共用一个铃声,只需在主控接口的描述符中包含电话铃声功能描述符。

偏移 字段名 大小 值/类型 描述
0 bFunctionLength 1 数值 此功能描述符的字节数
1 bDescriptorType 1 常量 CS_INTERFACE 描述符类型
2 bDescriptorSubtype 1 常量 电话铃声功能描述符子类型
3 bRingerVolSteps 1 数值 铃声支持的音量离散步数:<br>0: 256级音量<br>1: 1级(固定音量)<br>2: 2级音量<br>3: 3级音量<br>音量范围按步数均分,0为静音,最大值255。
4 bNumRingerPatterns 1 数值 支持的铃声模式数量,1~255,0为保留

示例(C结构体及二进制示例)

C结构体定义

typedef struct _USB_CDC_TELEPHONE_RINGER_DESCRIPTOR {
    uint8_t bFunctionLength;      // 描述符长度
    uint8_t bDescriptorType;      // CS_INTERFACE (0x24)
    uint8_t bDescriptorSubtype;   // Telephone Ringer subtype (0x04)
    uint8_t bRingerVolSteps;      // 铃声音量步数
    uint8_t bNumRingerPatterns;   // 铃声模式数量
} USB_CDC_TELEPHONE_RINGER_DESCRIPTOR;

示例数据(假设支持3级音量、2种铃声模式)

字节序号 值(十六进制) 含义
0 0x05 bFunctionLength = 5
1 0x24 bDescriptorType = CS_INTERFACE
2 0x04 bDescriptorSubtype = Telephone Ringer
3 0x03 bRingerVolSteps = 3
4 0x02 bNumRingerPatterns = 2

二进制示例:

05 24 04 03 02

说明

  • bFunctionLength:通常为5(字节)
  • bDescriptorType:固定为0x24(CS_INTERFACE)
  • bDescriptorSubtype:电话铃声功能描述符为0x04
  • bRingerVolSteps:音量步数,0=256级,1=1级,2=2级,3=3级
  • bNumRingerPatterns:铃声模式数量,1~255

0 篇笔记 写笔记

CDC 电话铃声功能描述符
电话铃声功能描述符(Telephone Ringer Functional Descriptor)用于描述设备支持的铃声音量调节级数和铃声模式数量,主机可据此实现对电话设备铃声的控制和管理。该描述符用于描述通信类接口(SubClass为电话控制,Telephone Control)所支持的铃声能力......
关注公众号
  • HID人机交互
  • Linux&USB
  • UAC音频
  • CDC
  • TYPE-C
  • USB规范
  • USB大容量存储
  • USB百科
  • USB周边
  • UVC摄像头
  • Windows系统USB
  • 音视频博客
  • 取消
    感谢您的支持,我会继续努力的!
    扫码支持
    扫码打赏,你说多少就多少

    打开支付宝扫一扫,即可进行扫码打赏哦

    您的支持,是我们前进的动力!