如何从Android 中的AudioRecord计算经过的时间?
我正在尝试做的与此类似:图 5(第二张图)。为了进一步解释我自己,我正在实时录制声音,然后绘制音高并在一定时间内计算缓冲数据。
如何从Android 中的AudioRecord计算经过的时间?
我正在尝试做的与此类似:图 5(第二张图)。为了进一步解释我自己,我正在实时录制声音,然后绘制音高并在一定时间内计算缓冲数据。
只需计算一下,您就知道记录数据的大小,还应该知道采样率和通道数。所以迈克尔发表的评论是正确的。
我按照迈克尔的评论,并在录制后以秒为单位成功计算了音频长度。
int SAMPLE_RATE_IN_HZ = 44100;
int AUDIO_FORMAT = AudioFormat.ENCODING_PCM_16BIT; // Guaranteed to be supported by devices
int CHANNEL_CONFIG = AudioFormat.CHANNEL_IN_MONO; // Is guaranteed to work on all devices
File audioFile = yourRecordingLogicHere();
long audioLengthInSeconds = audioFile.length() / (2 * SAMPLE_RATE_IN_HZ);
我用单声道录音,这就是为什么*2
比迈克尔的评论少一个乘法。