c# - NAudio - WaveSram 和 BlockAlignReductionStream

标签 c# .net audio mp3 naudio

我正在使用 NAudio 的 WaveStream 和 BlockAlignReductionStream 从 MP3 文件中读取数据。使用 Read 方法,这一切都很好,它读入一个 byte[] 缓冲区,但我想知道当格式不同于 8 位 PCM 时会发生什么,或者当有超过 1 个 channel 时会发生什么?

我的意思是,它可能首先读取 16 位 PCM 格式作为高位字节,然后是低位字节,所以它基本上是一个短字节。但是如果有 2 个 channel 呢?它是从两者中读取的吗?第一个 sample 中的一个 sample 和另一个 sample 中的一个 sample ?或完全相反的……还是什么? 32位浮点格式也会发生同样的情况吗?

谢谢。

最佳答案

NAudio 中可用的 MP3 解码器都解压缩为 16 位音频,而不是 8 位。样本数据将以英特尔字节顺序的一系列 16 位整数形式出现,并且样本将左、右等交错以用于立体声音频。

关于c# - NAudio - WaveSram 和 BlockAlignReductionStream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8241522/

相关文章:

c# - 使用LINQ有效地分页大型数据集

c# - Windows Phone 7 导航传递参数

c# - 使用 XMLReader 解析不良的结构化文件

c# - Xamarin.Forms:按代码中的后退按钮

.net - 当PowerShell溢出时,如何使PowerShell捕获日志文件?

ios - 从两个麦克风录制-iOS

php - 有没有一种方法可以计算单击音频按钮的次数,并使用ajax调用将其保存到数据库中?

ios - 如何设置 Apple 推送通知服务中的声音? (总是默认的?)

c# - 防止复选框被选中(而不是简单地取消选中)

c# - 如何将 WinForms 文本框设置为覆盖模式