c# - 将 a-law 转换为 pcm

标签 c# audio naudio

如何将具有编码:ALaw,SampleRate:8000,BitsPerSample:8, channel :1, block 对齐 channel :1,每秒位数:8000 的波转换为具有 pcm 编码和第一波相同参数的波?我一直在使用 http://www.codeproject.com/Articles/14237/Using-the-G711-standard 的 ALawDecoder ,现在我有一个短裤数组(不是字节)!如何将短数组转换为字节数组并使用 NAudio.WaveOut 播放它以及如何将其写入波形文件?

最佳答案

您将 Alaw 解码为 PCM,即 16 BitsPerSample - 这就是您最终得到 short 数组的原因s。

您可以使用 Buffer.BlockCopy()将它们复制到 byte[] :

byte[] result = new byte[shortArray.Length * sizeof(short)];
Buffer.BlockCopy(shortArray, 0, result, 0, result.Length);

关于c# - 将 a-law 转换为 pcm,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21810214/

相关文章:

c# - 通过网络服务暂停流媒体广播

c# - NAudio 可以在 Ubuntu 上进行音频处理吗?

c# - 将 WAV 文件转换为频谱图

c# - 如何在多种方法中很好地使用try catch?

c# - Selenium ChromeDriver 的 C# 实现中反复出现 ERR_CONNECTION_RESET

php - 防止Mp3在浏览器PHP中播放

java - 如何在java 1.4中播放wav文件

c# - MVC 4 ListBoxFor 不回发所选项目

c# - ASP.Net MVC 创建注册错误

java - 从视频的音频流生成波形图像