2012-10-10 88 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