数据定义
音频输出模块输出数据结构由码流包额外信息extData、数据包大小和实际数据三部分组成。该数据通过回调函数提供给开发者,并通过VmiCmd枚举中的AUDIO_RETURN_AUDIO_PLAY_DATA命令字指定。
使用示例如下:
VmiDataType module = DATA_AUDIO; VmiCmd cmd = AUDIO_RETURN_AUDIO_PLAY_DATA; uint8_t audioPlayData[240]; AudioData audioData; audioData.size = sizeof(audioPlayData); uint8_t *data = new uint8_t[sizeof(AudioData) + sizeof(audioPlayData)]; memcpy(data, &audioData, sizeof(AudioData)); memcpy(data + sizeof(AudioData), audioPlayData, sizeof(audioPlayData)) DataCallback(module, cmd, data, sizeof(AudioData) + audioData.size);
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));
父主题: 音频输出开发