我很困惑。我需要在 Android 中从 MIC 录制声音,所以我使用了以下代码:
recorder = new AudioRecord(AudioSource.MIC, 44100,
AudioFormat.CHANNEL_IN_MONO,
AudioFormat.ENCODING_PCM_16BIT, N);
buffer = new byte[N];
//...
recorder.read(buffer, 0, N);
众所周知,字节数组可以存储-128 到+128 之间的值,而16Bit 声音需要更多的存储空间(例如short 和int),但令人惊讶的是Java 和Android 有一种record
方法可以将记录的数据保存到字节数组中。
这怎么可能?我错过了什么?