public static int ReadMp3(String mp3Url) throws IOException, Exception {
URL url = new URL(mp3Url);
URLConnection con = null;
try {
con = url.openConnection();
} catch (IOException e) {
e.printStackTrace();
}
BufferedInputStream bis = new BufferedInputStream(con.getInputStream());
Bitstream bt = new Bitstream(bis);
//获取mp3时间长度
Header header = bt.readFrame();
int mp3Length = con.getContentLength();
int time = (int) header.total_ms(mp3Length);
return time / 1000;
}
<dependency>
<groupId>com.badlogicgames.jlayer</groupId>
<artifactId>jlayer</artifactId>
<version>1.0.2-gdx</version>
</dependency>
获取m3u8视频时长
Long duration = 0L;
InputStream inputStream = null;
InputStreamReader inputStreamReader = null;
BufferedReader bufferedReader = null;
try {
//填写m3u8地址
URL url1 = new URL("https://h264_450k_mp4/index.m3u8");
URLConnection connection = url1.openConnection();
inputStream = connection.getInputStream();
inputStreamReader = new InputStreamReader(inputStream);
bufferedReader = new BufferedReader(inputStreamReader);
String str ;
while (((str = bufferedReader.readLine()) != null)) {
//按行读取m3u8头文件
//#EXTINF:后的内容就是每一个分片的时长,单位为秒
if (str.contains("#EXTINF:")) {
Double doubleDuration = Double.valueOf(str.substring(8,15));
doubleDuration = doubleDuration ;
duration += doubleDuration.longValue();
}
}
System.out.println(duration);
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}