中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

数据定义

麦克风输入模块输入数据结构和音频输出数据结构一样为AudioData,由码流包额外信息extData、数据包大小和实际数据三部分组成。

AudioData定义

struct AudioData {
    ExtDataAudio extData;               // 额外信息
    uint32_t size;                      // 大小
    uint8_t data[0];                    // 数据
} __attribute__((packed));

ExtDataAudio定义

struct ExtDataAudio {
    uint32_t audioType = OPUS;              // 编码模式:OPUS/PCM
    uint8_t channels = 2;                   // 声道数 1:MONO/2:STEREO(默认)
    uint8_t audioBitDepth = 16;             // 采样深度 8bit/16bit(默认)
    uint32_t sampleRate = 48000;            // 采样率 48000Hz(默认)
    uint32_t sampleInterval = 10;           // 采样间隔 10ms(默认)
    int64_t timestamp;                      // 音频数据时间戳 毫秒,UTC时间
} __attribute__((packed));
  • 这里的timestamp必须要是客户端的时间戳,不能是服务端通过网络收到音频数据包之后的时间戳,否则可能会导致无法过滤因网络波动而严重延迟的包,从而出现音频整体滞后的现象。