有以下电话通信系统。
其中,我将开发一个中继器。中继器执行 tcp/ip 通信。
分别从 user1 和 user2 接收以字节为单位的 adpcm 数据。
我想将从中继器接收到的数据保存为音频文件。
收集来自一侧(user1)的数据并将其制成字节数组后,我使用 Naudio 创建了一个 wav 文件,但它失败了。
当我使用window10的默认播放应用程序播放它时,它会播放大约1秒并结束。但总播放时间较长,如6秒和7秒。
下面的数据是我创建的wav文件的二进制数据开头的一部分。
52 49 46 46 B4 65 00 00 57 41 56 45 66 6D 74 20 32 00 00 00 02 00 01 00 40 1F 00 00 00 10 00 00 00 01 04 00 20 00 F4 0 010 07 00 0 0 0 010 07 00 0 0 00 00 00 00 C0 00 40 00 F0 00 00 00 CC 01 30 FF 88 01 18 FF 66 61 63 74 04 00 00 00 C4 CA 00 00 64 61 74 61 62 65 00 00 77 77 8 77 68 08 08 08 08 08 08 08 80 08 08 9A 99 99 90 01 21 21 12 25 53 40 9A B9 91 24 34 11 8A BC AA 80 13 17 43 42 12 09 8A AB DB BB BA 9A 88 A DB 9 02 A0 BA BB 33 33 31 10 1A 0B BB BA A0 91 22 32 11 90 A9 BB BB 9B 11 23 33 41 11 19 9B AB B9 11 22 13 35 11 08 99 AA BC A1 A1 00 31 31 11 A9 1314 AB BB 9A 1 12 91 90 9B 9B B9 A0 11 13 41 29 29 09 9B AB B9 09 10 13 33 11 A9 BB BB CA 09 00 12 33 33 39 39 1A AA B9 B1 91 22 33 40 01 90 A9 BC A9 919 01 3 9A 9B 9C 9A 9A 90 01 33 33 21 01 09 9B A9 90 11 11 33 33 21 01 0A 9B 9A 99 01 03 14 10 19 99 B9 BB BA B0 9012 33 11 20 91 A9 99 9A 01 02 11 33 01 10 09 99 B0 A0 10 12 13 31 29 99 9B 9A B0 99 90 01 11 21 90 91 09 19 09 10 90 12 03 19 19 19 9 9 03 19 19 9 1 13 10 90 99 BA B9 B0 99 00 01 91 00 99 11 99 00 11 01 11 11 11 19 99 11 91 91 11 00 10 01 20 01 90 99 AA 9A 99 01 91 99 1 1 9A 19 1 1 9 1 1 9A 19 1 9A 99 01 91 99 1 1 9A 19 1 1 3A 09 99 90 00 31 11 19 10 91 91 11 01 9A
这是我实现的代码(音频数据是 adpcmdata 的字节数组):
var adpcmWaveFormat = new AdpcmWaveFormat(8000, 1);
using (WaveFileWriter writer = new WaveFileWriter("D:\\test.wav", adpcmWaveFormat))
{
writer.Write(audiodata, 0, audiodata.Length);
}
如何将 adpcm 数据保存为音频文件?
以及如何将 user1 和 user2 的声音同时保存在一个文件中?