【问题标题】:What to do when BitsPerSample returns 0(zero)?当 BitsPerSample 返回 0(零)时该怎么办?
【发布时间】:2018-02-13 11:14:51
【问题描述】:

我正在使用Mp3FileReader.Mp3WaveFormat.BitsPerSample 获取 mpeg 第 3 层文件中每个样本使用的位数。现在,当要求 BitsPerSample 时,该 mp3 文件的编解码器返回零。

对于某些编解码器可能会发生这种情况。

现在,我需要为该 mp3 文件计算 BytesPerSample,如果不知道 BitsPerSample,我将无法做到。

所以,

  1. 如何获取此类文件的 BitsPerSample?
  2. 有什么方法可以简单地获取 BytesPerSample?

【问题讨论】:

标签: c# mp3 naudio


【解决方案1】:

BitsPerSample 对于 MP3 等压缩格式通常返回 0。由于 MP3 对音频进行编码的方式,它并没有真正的意义。您可以检查Mp3FileReader 将使用mp3FileReader.WaveFormat.BitsPerSample 将其解码为的 PCM 的每个样本的位数。但它永远是 16。

【讨论】:

  • 解码为 PCM 时不必为 16...您可以将 MP3 解码为您想要的任何位深度(具有不同程度的有用性)。
  • @Brad 是的,但这个问题是关于 NAudio 中的Mp3FileReader,它总是会解码为 16 位 PCM
  • 啊,很公平!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-08-17
  • 2017-08-11
  • 1970-01-01
  • 2014-03-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多