如何使用编码: ALaw、SampleRate: 8000、BitsPerSample: 8、通道: 1、块对齐信道: 1、比特每秒: 8000转换成具有pcm编码和相同的第一波参数的波形?我曾经使用过来自ALawDecoder的http://www.codeproject.com/Articles/14237/Using-the-G711-standard,现在我有了一个简短的数组(不是字节)!如何将短数组转换为字节数组并使用NAudio.WaveOut播放,以及如何将其写入wave文件?
发布于 2014-02-16 11:05:57
您可以将Alaw解码为PCM,即16 BitsPerSample --这就是为什么您最终得到了一个short的数组。
您可以使用Buffer.BlockCopy()将它们复制到byte[]中。
byte[] result = new byte[shortArray.Length * sizeof(short)];
Buffer.BlockCopy(shortArray, 0, result, 0, result.Length);发布于 2014-03-04 08:12:51
我没有使用这条长路径,而是使用了以下简单的代码行:
WaveFormatConversionStream conv = new WaveFormatConversionStream(WaveFormat.CreateCustomFormat(WaveFormatEncoding.Pcm, 8000, 1, 16000, 2, 16), inputStream);https://stackoverflow.com/questions/21810214
复制相似问题