从AudioRecord计算已用时间

时间:2013-03-05 15:03:51

标签: android audio audio-recording audiorecord android-audiorecord

如何计算Android中AudioRecord的已用时间?

我想要做的是这样的:figure 5(Second graph)。为了进一步解释我自己,我实时录制声音,然后绘制音高并在一定时间内计算缓冲数据。

2 个答案:

答案 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乘法比迈克尔的评论少。