2012-10-10 47 views
0

我拍摄的RTP包,并使用此代码解码他们:使用G729 DLL播放解码RTP的音频数据包

public byte[] Decode(byte[] data) 
{ 
    MemoryStream src=new MemoryStream(data); 
    System.IO.BinaryReader brsrc=new BinaryReader(src); 
    MemoryStream dst=new MemoryStream(); 
    System.IO.BinaryWriter bwdst=new BinaryWriter(dst); 
    int step=(int)(data.Length/10); 
    for(int i=0;i<step;i++) 
    { 
     byte[] d=new byte[160]; 
     va_g729a_decoder(brsrc.ReadBytes(10),d,0); 
     bwdst.Write(d); 
    } 
    byte[] ret=dst.GetBuffer(); 
    brsrc.Close(); 
    bwdst.Close(); 
    src.Close(); 
    dst.Close(); 
    return ret;   
} 

现在我有一个完整的解码RTP数据包的字节数组,我该如何播放它或将它变成一个WAV文件或关闭?

Thnaks, 奥菲克

+0

这不是解码方法给你的吗? –

+0

我解码了rtp数据包,现在我已准备好播放它们。我想知道如何将它们转换成WAV文件或任何可以播放的音频文件(在解码它们之后) –

回答

0

您可以使用的ffmpeg的RTP数据转换成MP3格式语音。这里的reference