我需要知道一个8位的".wav"文件是有符号还是无符号PCM格式,只通过读取文件来判断。我不能使用"javax.sound.sampled.*"或AudioSystem类库。
我需要知道一个8位的".wav"文件是有符号还是无符号PCM格式,只通过读取文件来判断。我不能使用"javax.sound.sampled.*"或AudioSystem类库。
8位(或更低)的 WAV 文件始终是无符号的。9位或更高位始终为有符号:
每个样本包含在一个整数 i 中。 i 的大小是包含指定样本大小所需的最小字节数。最不重要的字节首先存储。表示样本幅度的位存储在 i 的最重要位中,其余位设置为零。
例如,如果样本大小(以nBitsPerSample记录)为12位,则每个样本存储在两个字节的整数中。第一个(最不重要的)字节的最不重要的四位设置为零。
各种大小的 PCM 波形样本的数据格式、最大值和最小值如下:
多媒体编程接口和数据规范 1.0 - IBM/Microsoft,1991年8月