使用g722编解码器解码PCM音频数据

时间:2011-10-10 16:45:23

标签: c++ audio voip libpcap cisco

我正在为VoIP音频开发一个呼叫记录器,音频在CISCO环境中使用g722编解码器进行编码。 好吧,我从RTP帧中提取了数据,我已经解码了这个pcm数据如下:

unsigned int payloadSize = htons(udpHdr->len) - (CONSTANT::UDP_HDR_SIZE + CONSTANT::RTP_HDR_SIZE);
char * payload = (char*)rtpHdr + CONSTANT::RTP_HDR_SIZE;
  unsigned short m_payloadType = rtpHdr->pt;
//decode_state is initialize like :g722_decode_init(NULL, 64000, G722_SAMPLE_RATE_8000);
outBuffSize = g722_decode(decode_state, decompressed, (const uint8_t*)payload, payloadSize);

我在一个文件中存储了这个解码数据(以及相同流量的所有帧,等于sscr),当试图听到音频时,我只能听到噪音。

我认为这个问题适用于使用CISCO的压缩算法。

解码函数的行为是正确的。

有什么建议吗?

0 个答案:

没有答案