我正在使用录音机录制来自麦克风的声音。 recoChunk byte []存储原始记录,如下所示。

while (isRecording == true) {
    Log.w("myMsg", "recording..");
    recoChunk = new byte[minBuffSize];
    audioRecord.read(recoChunk, 0, minBuffSize);
    mFosRaw.write(recoChunk);
}

现在从recoChunk我想找到记录的最大振幅该怎么办?

最佳答案

您可以将字节数组转换为与所录制音频的位深度相匹配的类型的数组。例如,对于16位音频,可以使用short,因为它包含16位带符号整数值。对于8位,您可以只使用字节数组而无需强制转换。然后,简单地,数组中最大的“数字”(您可能希望获取绝对值)将是振幅值最高的样本。

07-24 21:48