c# - 播放解码的RTP数据包的音频

标签 c# audio byte wav rtp

我捕获了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文件或其他类似文件?

na,
奥菲克

最佳答案

您可以使用 ffmpeg 将rtp数据转换为mp3格式的语音。这是reference

关于c# - 播放解码的RTP数据包的音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12819016/

相关文章:

c# - 英语到法语的 ASP.NET 资源文件翻译

c# - .NET 如何重命名我的嵌入式资源?

c# - 为什么这个 catch block 没有捕获抛出的异常?

c# - 填: SelectCommand. 连接属性还没有初始化

ios - MPMusicPlayerController 音轨长度

Java/Android 字符串到字节的转换

android - 如何将 byte [] 转换为 drawable?

java - 在 Android Java 中将位保存在字节流中?

HTML5 中的 Javascript 和音频 - 第一个 'play()' 调用后的延迟

javascript - 嵌入式Flash电影无法播放声音