如何从字节数组计算音频剪辑的持续时间?

时间:2019-04-12 13:32:54

标签: java audio mp3 audio-streaming sample-rate

我正在使用Google云API合成语音。我有以下有关语音合成响应的信息。

  • 采样率:8000 Hz
  • 音频格式:MP3
  • 字节数组的长度

API的响应是字节数组。有了这些信息,我如何才能近似或准确地计算出合成音频的长度?

1 个答案:

答案 0 :(得分:2)

您没有足够的信息来计算音频的持续时间。

MP3是有损编解码器,可以以多种不同的比特率运行。实际上,该比特率可以在整个文件中变化。更糟糕的是,MP3没有通常格式的固有时间戳。准确知道其长度的唯一真实方法是对其进行解码。

或者,如果您知道比特率,则可以将文件除以比特率并获得近似的长度。如果可以假设整个文件中的比特率恒定,则可以通过读取第一帧的标头来获得比特率。另请参阅:http://mpgedit.org/mpgedit/mpeg_format/mpeghdr.htm