2
我正在嘗試開發一個應用程序,其中建立一個SIP呼叫,然後我捕獲rtp音頻數據包。由於它們是編碼的,所以我需要解碼它們並保存它.wav文件。嘗試使用NAudio,但沒有工作。有沒有使用NAudio或任何其他來源解決此問題的解決方案...如何解碼RTP數據包並保存它有.wav文件
我使用的代碼如下。 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);
在此先感謝。
爲了幫助我們更好地回答您,您能否提供您嘗試過的NAudio代碼? –
我編輯了我的問題,並在那裏添加了我的代碼 –
什麼對代碼不起作用? (順便說一句,你不需要BlockAlignReductionStream)。您還需要使用Read方法返回 - 轉換後的音頻將是原始數據長度的兩倍 –