1

如何从Android 中的AudioRecord计算经过的时间?

我正在尝试做的与此类似:图 5(第二张图)。为了进一步解释我自己,我正在实时录制声音,然后绘制音高并在一定时间内计算缓冲数据。

4

2 回答 2

1

只需计算一下,您就知道记录数据的大小,还应该知道采样率和通道数。所以迈克尔发表的评论是正确的。

于 2013-03-05T15:22:43.260 回答
1

我按照迈克尔的评论,并在录制后以秒为单位成功计算了音频长度。

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

于 2017-09-12T12:10:41.690 回答