这是代码的一部分,仅获得AudioRecorder类记录的PCM字节数组的最后几秒钟:
ArrayList<Byte> local = new ArrayList<>();
if (readedBytes.size() > RECORDER_SAMPLERATE * 10) {
for (int i = readedBytes.size() - 1 - RECORDER_SAMPLERATE * 10; i < readedBytes.size() - 1; i++) {
local.add(readedBytes.get(i));
}
} else {
local.addAll(readedBytes);
}
byte[] array;
array = new byte[local.size()];
for (int i = 0; i < array.length; i++) {
array[i] = local.get(i);
}
问题是,当我不得不剪切数组的第一部分时,我只收到了白噪声。
重要:在此过程之后,我添加了.wav标头,并且在未剪切数组的情况下也可以使用。