【发布时间】:2017-11-07 18:49:22
【问题描述】:
我正在尝试在 Android 上录制音频。我找到了不同的例子,但有一件事我不明白。
有些人写shorts,其他人写bytes。
这是将short 转换为bytes 的示例。
private byte[] short2byte(short[] sData) {
int shortArrsize = sData.length;
byte[] bytes = new byte[shortArrsize * 2];
for (int i = 0; i < shortArrsize; i++) {
bytes[i * 2] = (byte) (sData[i] & 0x00FF);
bytes[(i * 2) + 1] = (byte) (sData[i] >> 8);
sData[i] = 0;
}
return bytes;
}
这样做的目的是什么?为什么不直接将shorts 写入文件,因为我们使用的是PCM 16bit。
请从音频的角度解释一下这个问题。
谢谢
【问题讨论】:
标签: android audio signal-processing pcm