NAudio - WaveStram 和 BlockAlignReductionStream

Posted

技术标签:

【中文标题】NAudio - WaveStram 和 BlockAlignReductionStream【英文标题】:NAudio - WaveStram & BlockAlignReductionStream 【发布时间】:2011-11-23 11:37:01 【问题描述】:

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

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

谢谢。

【问题讨论】:

【参考方案1】:

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

【讨论】:

谢谢,这就是我所需要的。 :) 很棒的图书馆。

以上是关于NAudio - WaveStram 和 BlockAlignReductionStream的主要内容,如果未能解决你的问题,请参考以下文章

NAudio 和 Midi 文件读取

谁能说出 Flutter 中“flutter_bloc”和“bloc”包的区别

NAudio - 读取和写入 Wav 文件

Naudio:如何播放 MP3 和 WAV 文件?

NAudio 强名称问题

带有 NAudio 和 WPFSoundVisualizationLib 的频谱分析仪