C# BitsPerSample返回0(零)时该怎么办?
我正在使用C# BitsPerSample返回0(零)时该怎么办?,c#,mp3,naudio,C#,Mp3,Naudio,我正在使用Mp3FileReader.Mp3WaveFormat.BitsPerSample获取mpeg第3层文件中每个样本使用的位数。现在,当要求输入BitsPerSample时,该mp3文件的编解码器返回零 这可能发生在某些编解码器上 现在,我需要计算mp3文件的BytesPerSample,如果不知道BitsPerSample,我就做不到 所以 如何获取此类文件的BitsPerSample 有没有办法简单地获得BytesPerSample BitsPerSample对于MP3等压缩格式,通
Mp3FileReader.Mp3WaveFormat.BitsPerSample
获取mpeg第3层文件中每个样本使用的位数。现在,当要求输入BitsPerSample时,该mp3文件的编解码器返回零
这可能发生在某些编解码器上
现在,我需要计算mp3文件的BytesPerSample,如果不知道BitsPerSample,我就做不到
所以
BitsPerSample
对于MP3等压缩格式,通常返回0。由于MP3对音频进行编码的方式,这真的没有意义。您可以使用Mp3FileReader.WaveFormat.BitsPerSample
检查PCM的每个样本位,Mp3FileReader将对其进行解码。但它始终为16。BitsPerSample
对于MP3等压缩格式,通常返回0。由于MP3对音频进行编码的方式,这真的没有意义。您可以使用Mp3FileReader.WaveFormat.BitsPerSample
检查PCM的每个样本位,Mp3FileReader将对其进行解码。但它始终是16。请参阅来源:您可以使用mp3DataLength、bytesPerDecodedFrame、,totalSamplesMP3没有示例位深度。@jdweng如果我将该变量的访问修饰符更改为public,这将起作用。继承该类如何,这样您就不需要公开?@jdweng也可以。请参阅源代码:您可以使用mp3DataLength、bytesPerDecodedFrame、,totalSamplesMP3没有样本位深度。@jdweng如果我将该变量的访问修饰符更改为public,这将起作用。继承该类如何,这样就不需要公开?@jdweng也可以。解码到PCM时,它不必是16。。。你可以将MP3解码到你想要的任何位深度(有不同程度的有用性)。@Brad是的,但这个问题是关于NAudio中的Mp3FileReader
,它将始终解码到16位PCMAh,这很公平!解码到PCM时不必为16。。。你可以将MP3解码到你想要的任何位深度(有不同程度的有用性)。@Brad是的,但这个问题是关于NAudio中的Mp3FileReader
,它将始终解码到16位PCMAh,这很公平!