我正在尝试开发一个应用程序,其中建立了一个 sip 呼叫,然后我正在捕获 rtp 音频数据包。由于它们已编码,因此我需要对其进行解码并将其保存为 .wav 文件。尝试使用 NAudio 但没有奏效。有没有使用 NAudio 或任何其他来源的解决方案来解决这个问题......
我使用的代码如下。data 是 rtp 数据包数据所在的字节数组。
System.IO.MemoryStream stream = new System.IO.MemoryStream(data);
RawSourceWaveStream rsws = new RawSourceWaveStream(stream, WaveFormat.CreateMuLawFormat(8000,1));
WaveStream conversionStream = WaveFormatConversionStream.CreatePcmStream(rsws);
WaveStream blockAlignedStream = new BlockAlignReductionStream(conversionStream);
byte[] buffer = new byte[udpHeader.Data.Length];
blockAlignedStream.Read(buffer, 0, udpHeader.Data.Length);
writer.WriteData(buffer, 0, buffer.Length);
提前致谢。