当前位置: 代码迷 >> 多媒体/流媒体开发 >> G729编码的数据流,怎么转换为wav文件?
  详细解决方案

G729编码的数据流,怎么转换为wav文件?

热度:1731   发布时间:2013-02-26 00:00:00.0
G729编码的数据流,如何转换为wav文件???
过来的G729格式的数据流
char *szG729Data;
int nLen = nG729DataLen;
我应该如何才能转换为wav文件呢?请大侠给点思路,一头雾水,不懂的说。。。。

我的理解是不是先要把G729码流解码转换为PCM格式的输出,然后保存为WAV格式文件?
如何对G729编码后的码流解码呢?

请以数据为例指点:
char *szG729Data; // 500字节长度的码流
int nLen = nG729DataLen;// 500字节长度

------解决方案--------------------------------------------------------
吧G729解码后的PCM数据加上WAV头就是WAV格式了
------解决方案--------------------------------------------------------
从网上找g729解码库,进行解码,有个va_g729_decoder这个解固定长度的,可以找其它解码器。
解码后加上wave头就达到你要求了
------解决方案--------------------------------------------------------
解码写文件,加上WAVE文件头试试。可以参考SDK的FILTLER例子:Samples\Multimedia\DirectShow\Filters\WavDest
------解决方案--------------------------------------------------------
探讨

感谢楼上的tx,我试试看。

有个问题啊,对于静音期间的数据如何处理?如果一股脑接着存,那听的时候就是连续的了吧,静音间隔么有了,这个问题咋办?

------解决方案--------------------------------------------------------
探讨

感谢楼上的tx,我试试看。

有个问题啊,对于静音期间的数据如何处理?如果一股脑接着存,那听的时候就是连续的了吧,静音间隔么有了,这个问题咋办?

------解决方案--------------------------------------------------------
如果网络传输真的有丢包,你如何能确定丢的一定是静音帧,或者说,丢的只有静音帧。你或者置之不理,或者自己插入任意的音频帧,这个东西没什么道理可言的。
  相关解决方案