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;
}
g729 dll を使用します。
今、デコードされた RTP パケットでいっぱいのバイト配列があります。それを再生したり、WAV ファイルなどに変換したりするにはどうすればよいですか?
タナクス、オフェク