6

我需要通过仅读取文件来知道 8 位的“.wav”是签名的还是未签名的 PCM。我不能使用“javax.sound.sampled.*”或 AudioSystem 库。

4

2 回答 2

9

在 wav 文件中,8 位样本存储为无符号字节,范围从 0 到 255。16 位样本存储为 2 的补码中的有符号整数。

于 2013-06-21T03:49:23.290 回答
9

8 位(或更低)的 WAV 文件始终是无符号的。9 位或更高位总是有符号的:

每个样本都包含在一个整数i中。i的大小是包含指定样本大小所需的最小字节数。首先存储最低有效字节。表示样本幅度的位存储在i的最高有效位中,其余位设置为零。

例如,如果样本大小(记录在nBitsPerSample中)为 12 位,则每个样本都存储在一个两字节整数中。第一个(最低有效)字节的最低有效四位设置为零。

各种大小的PCM波形样本的数据格式和最大值最小值如下:

在此处输入图像描述

多媒体编程接口和数据规范 1.0 - IBM/Microsoft,1991 年 8 月

于 2017-05-12T14:05:12.760 回答