当前位置:主页 > java教程 > Java实现获取mp3时长及播放mp3方法

Java实现获取mp3时长及播放mp3文件的方法总结

发布:2019-06-10 15:01:26 221


给网友们整理Java编程相关的编程文章,网友宫天和根据主题投稿了本篇教程内容,涉及到Java、mp3、时长、播放、Java实现获取mp3时长及播放mp3方法相关内容,已被475网友关注,如果对知识点想更进一步了解可以在下方电子资料中获取。

Java实现获取mp3时长及播放mp3方法

本文实例讲述了Java编程实现获取mp3时长及播放mp3文件的方法。分享给大家供大家参考,具体如下:

所需包为jaudiotagger-2.2.6-SNAPSHOT.jar 和jl1.0.1.jar 。

import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import org.jaudiotagger.audio.AudioFileIO;
import org.jaudiotagger.audio.mp3.MP3AudioHeader;
import org.jaudiotagger.audio.mp3.MP3File;
import javazoom.jl.player.Player;
public class MusicUtil {
 public static void play(String position) {
  try {
   BufferedInputStream buffer = new BufferedInputStream(new FileInputStream(position));
   Player player = new Player(buffer);
   player.play();
  } catch (Exception e) {
   e.printStackTrace();
  }
 }
 public static int getDuration(String position) {
  int length = 0;
  try {
   MP3File mp3File = (MP3File) AudioFileIO.read(new File(position));
   MP3AudioHeader audioHeader = (MP3AudioHeader) mp3File.getAudioHeader();
   // 单位为秒
   length = audioHeader.getTrackLength();
   return length;
  } catch (Exception e) {
   e.printStackTrace();
  }
  return length;
 }
 public static void main(String[] args) {
  String position = "逃跑计划-夜空中最亮的星.mp3";
  getDuration(position);
  play(position);
 }
}

 


参考资料

相关文章

  • Caused by: java.lang.NumberFormatException: For input string: “port“(问题解决)

    发布:2023-04-20

    这篇文章主要介绍了Caused by: java.lang.NumberFormatException: For input string: “port“,本文给大家分享完美解决方法,需要的朋友可以参考下


  • Java程序使用MySQL时返回参数为乱码的解决方案大全

    发布:2020-01-07

    这篇文章主要介绍了解决Java程序使用MySQL返回参数为乱码的问题的教程,通过示例来讲解utf-8编码在MySQL中的相关配置,示例需要的朋友可以参考下


  • JavaScript中this关键字的使用方法

    发布:2020-03-12

    this是函数内部的对象并且被用于调用该函数,this在全局中的使用非常之灵活,下面就带大家来详解JavaScript中this关键字的用法


  • Java实现快速生成词云图的示例代码

    发布:2023-03-29

    词云(Word Cloud),又称文字云、标签云(Tag Cloud)、关键词云(Keyword Cloud),是对文本信息中一定数量的关键词出现的频率高低情况的一种可视化展现方式。本文将用Java代码实现快速生成词云图,需要的可以参考一下


  • java TransferQueue实例详解用法

    发布:2019-07-31

    这篇文章主要介绍了TransferQueue实例,下面小编和大家一起来学习一下


  • Java synchronized与死锁深入探究

    发布:2023-04-20

    这篇文章主要介绍了Java synchronized与死锁,Java中提供了synchronized关键字,将可能引发安全问题的代码包裹在synchronized代码块中,表示这些代码需要进行线程同步


  • JavaScript面向对象概念中的Object类型与作用域

    发布:2020-05-16

    这篇文章主要介绍了解析JavaScript面向对象概念中的引用类型与作用域,文中重点讲解了扩充函数运行作用域的需要的call和apply方法,朋友可以参考下


  • Java锁粗化与循环问题详解

    发布:2019-10-04

    这篇文章主要介绍了Java 锁粗化与循环的相关知识,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下


网友讨论