获取MP3音频时长 | Java工具类

简介: 获取MP3音频时长 | Java工具类

获取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");
  }
}

执行结果

image.png

说明

单位为秒,酌情使用。

相关文章
|
10天前
|
算法 搜索推荐 Java
java 后端 使用 Graphics2D 制作海报,画echarts图,带工具类,各种细节:如头像切割成圆形,文字换行算法(完美实验success),解决画上文字、图片后不清晰问题
这篇文章介绍了如何使用Java后端技术,结合Graphics2D和Echarts等工具,生成包含个性化信息和图表的海报,并提供了详细的代码实现和GitHub项目链接。
30 0
java 后端 使用 Graphics2D 制作海报,画echarts图,带工具类,各种细节:如头像切割成圆形,文字换行算法(完美实验success),解决画上文字、图片后不清晰问题
|
15天前
|
Java
Java 些许公共工具类
Java 些许公共工具类
12 1
|
2月前
|
缓存 前端开发 Java
【前端学java】java基础巩固复习巩固语法练习-工具类的封装(14)
【8月更文挑战第10天】java基础巩固,工具类的封装
24 1
【前端学java】java基础巩固复习巩固语法练习-工具类的封装(14)
|
2月前
|
Java
Java应用结构规范问题之在UnitConvertUtils工具类将千米转换为米的问题如何解决
Java应用结构规范问题之在UnitConvertUtils工具类将千米转换为米的问题如何解决
|
2月前
|
存储 设计模式 安全
Java GenericObjectPool 对象池化技术--SpringBoot sftp 连接池工具类
Java GenericObjectPool 对象池化技术--SpringBoot sftp 连接池工具类
38 0
|
3月前
|
数据采集 Web App开发 Java
Java爬虫安全策略:防止TikTok音频抓取过程中的请求被拦截
Java爬虫安全策略:防止TikTok音频抓取过程中的请求被拦截
|
3月前
|
设计模式 存储 安全
Java面试题:设计一个线程安全的单例类并解释其内存占用情况?使用Java多线程工具类实现一个高效的线程池,并解释其背后的原理。结合观察者模式与Java并发框架,设计一个可扩展的事件处理系统
Java面试题:设计一个线程安全的单例类并解释其内存占用情况?使用Java多线程工具类实现一个高效的线程池,并解释其背后的原理。结合观察者模式与Java并发框架,设计一个可扩展的事件处理系统
57 1
|
3月前
|
安全 Java 开发者
Java中的并发工具类与线程安全实现
Java中的并发工具类与线程安全实现
|
3月前
|
设计模式 缓存 算法
编写高效的Java工具类:实用技巧与设计模式
编写高效的Java工具类:实用技巧与设计模式
|
3月前
|
并行计算 Java API
Java中的并发工具类详解
Java中的并发工具类详解