获取mp3格式音频时长。
Maven依赖
<dependency> <groupId>org</groupId> <artifactId>jaudiotagger</artifactId> <version>2.0.1</version> </dependency>
代码
package ai.guiji.csdn.tools; import org.jaudiotagger.audio.AudioFileIO; import org.jaudiotagger.audio.mp3.MP3AudioHeader; import org.jaudiotagger.audio.mp3.MP3File; import java.io.File; /** @Author huyi @Date 2021/9/30 15:06 @Description: mp3音频工具 */ public class AudioMp3Utils { /** * 获取mp3语音文件播放时长(秒) mp3 * * @param filePath * @return */ public static void getMp3Duration(String filePath) { try { File mp3File = new File(filePath); MP3File f = (MP3File) AudioFileIO.read(mp3File); MP3AudioHeader audioHeader = (MP3AudioHeader) f.getAudioHeader(); int model = 1; if ("MPEG-2".equals(audioHeader.getMpegVersion()) && "Stereo".equals(audioHeader.getChannels())) { model = 2; } System.out.println( "时长:" + Float.parseFloat(audioHeader.getPreciseTrackLength() + "") / model); } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { getMp3Duration("E:\\csdn\\dzgz.mp3"); } }
执行结果
说明
单位为秒,酌情使用。