BitsPerSample returns 0(零)怎么办?

What to do when BitsPerSample returns 0(zero)?

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

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

现在,我需要计算该 mp3 文件的 BytesPerSample,如果不知道 BitsPerSample,我无法完成。

所以,

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

BitsPerSample 通常 returns 0 对于像 MP3 这样的压缩格式。由于 MP3 对音频的编码方式,它实际上没有意义。您可以检查 Mp3FileReader 将使用 mp3FileReader.WaveFormat.BitsPerSample 解码的每个 PCM 样本的位数。不过它永远是 16。