如何计算Android中AudioRecord的已用时间?
我想要做的是这样的:figure 5(Second graph)。为了进一步解释我自己,我实时录制声音,然后绘制音高并在一定时间内计算缓冲数据。
答案 0 :(得分:1)
只需计算它,您就知道记录数据的大小,您还应该知道采样率和通道数。所以迈克尔发表的评论是正确的。
答案 1 :(得分:0)
我遵循迈克尔的评论,并在录制完成后以秒为单位成功计算了音频长度。
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
乘法比迈克尔的评论少。