package com.fengzhi; import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.net.URL; import java.text.SimpleDateFormat; import java.util.Calendar; import javazoom.jl.decoder.Bitstream; import javazoom.jl.decoder.BitstreamException; import javazoom.jl.decoder.Header; import javazoom.jl.decoder.JavaLayerException; import javazoom.jl.player.Player; /** * * @ClassName: Mp3Player * @Description: TODO(播放.mp3 音乐文件) * @author fyf * @date 2015年7月10日 下午3:02:09 */ public class Mp3Player { /** * * @Title: getMp3Time * @Description: TODO(获取mp3文件的播放时间) * @author fyf * @return time(00:00) */ public String getMp3Time(String mp3FilePath) { try { File file = new File(mp3FilePath); if (file.exists() && file.isFile()) { FileInputStream fis = new FileInputStream(file); int bytes = fis.available(); Bitstream bit = new Bitstream(fis); Header header = bit.readFrame(); long time = (long) header.total_ms(bytes); return formatTime(time); } } catch (IOException | BitstreamException e) { System.out.println(e); } return null; } /** * * @Title: formatTime * @Description: TODO(格式化时间:mm:ss;分:秒) * @author fyf * @return time(00:00) */ public String formatTime(long time) { SimpleDateFormat dateFormat = new SimpleDateFormat("mm:ss"); Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(time); return dateFormat.format(calendar.getTime()); } /** * * @Title: playerMp3 * @Description: TODO(播放mp3) * @author fyf * @param mp3File * mp3文件路径 */ public void playerMp3(String mp3FilePath) { BufferedInputStream buffer = null; /** * 获取文件数据流 */ try { buffer = new BufferedInputStream(new FileInputStream(mp3FilePath)); } catch (Exception e) { try { buffer = new BufferedInputStream(new URL(mp3FilePath).openStream()); } catch (Exception e1) { e1.printStackTrace(); } } try { Player player = new Player(buffer); player.play(); } catch (JavaLayerException e) { e.printStackTrace(); } } public static void main(String[] args) { Mp3Player mp3Player = new Mp3Player(); String mp3FilePath = "E:\\KuGou\\西单女孩 - 原点.mp3"; String mp3Time = mp3Player.getMp3Time(mp3FilePath); System.out.println(mp3Time); mp3Player.playerMp3(mp3FilePath); // 播放网络文件 mp3FilePath = "http://music.baidutt.com/up/kwcawscw/yyaumy.mp3"; mp3Player.playerMp3(mp3FilePath); } }
需要用到 jlayer-1.0.1.jar
相关推荐
在Java编程中,查找特定类型的文件,如.mp3格式的音乐文件,是一项常见的任务。这主要涉及到文件I/O操作和文件路径处理。以下是一些关键的知识点,将帮助你理解和实现这样的程序: 1. **文件路径处理**:在Java中,...
首先,Java提供了内置的`javax.sound.sampled`包,它允许开发者处理和播放各种音频文件。这个包包括了`AudioSystem`类,它是音频I/O的主要入口点,以及`Clip`和`DataLine`接口,用于播放音频片段。 播放MP3文件,你...
在Java编程环境中,开发一个MP3播放器是一个挑战性的任务,因为Java标准库并不直接支持音频播放,特别是对于MP3格式。不过,开发者可以利用第三方库来弥补这一不足。在这个主题中,我们将深入探讨如何使用Java支持...
总的来说,Java音乐播放器利用Java Media Framework实现了跨平台的多媒体播放功能,支持多种常见的音频和视频格式,包括.mp3、.au、.wav音频以及.mpg视频。通过环境配置和用户指南,用户可以方便地在自己的设备上...
JLayer库的核心是jl-1.0.1.jar文件,这是一个Java归档(JAR)文件,包含了所有必要的类和资源,使得开发者可以在Java应用程序中播放MP3音乐。JAR文件本质上是将多个编译后的Java类文件打包在一起,以便于分发和运行...
Java音频视频编码器,本文实例将任何音频格式转换为MP3格式 您还可以调整视频大小,更改其大小和比例等 本文实例实用于任何Windows,MacOS,Linux系统 附:完整jar项目,完善的demo,详细的注释,简单易操作
在Java编程环境中,将WAV音频文件转换为MP3格式是一项常见的需求,特别是在处理音频数据时。本示例介绍如何利用LAME库在Java程序中实现这个功能,并且能够自定义MP3文件的码率。LAME是一个高效的MP3编码器,广泛用于...
在Java编程环境中,播放MP3音频文件是一项常见的需求。标题"Java播放Mp3"提示我们,我们将探讨如何在Java中实现这一功能。这篇博客(博文链接:https://mypyg.iteye.com/blog/1060752,遗憾的是,由于这是一个假定的...
Java音乐播放器是一款基于Java平台的程序,用于播放MP3格式的音频文件。在这个项目中,用户需要首先安装Java Media Framework (JMF) 才能正常运行,因为JMF是Java平台上的多媒体处理库,提供了播放、捕获、处理等...
这个标题暗示了我们正在讨论如何在Java项目中处理和播放.au格式的音频文件,这对于提升用户体验和交互性至关重要。以下是关于.au格式和如何在Java中使用它的详细知识点: 1. **.au格式**:.au文件格式起源于Sun ...
java实现音频文件播放功能 本文主要介绍了java实现音频文件播放功能,该功能具有参考价值,对感兴趣的小伙伴们具有重要的参考意义。 一、获取音频文件地址 在播放音频文件之前,首先需要获取音频文件的地址。通过...
首先,WAV和MP3是两种不同的音频文件格式。WAV(Waveform Audio File Format)是由微软和IBM开发的一种无损音频格式,它存储原始音频数据,因此体积较大。而MP3(MPEG-1 Audio Layer 3)是一种有损压缩格式,通过...
在Java编程环境中,播放音频文件是一项常见的需求,尤其是对于音乐应用或者多媒体项目。本文将深入讲解如何使用Java来选择并播放MP3以及WAV格式的文件。这两种格式都是音频文件的常见格式,MP3以其高压缩率而广受...
Java程序播放mp3是利用Java编程语言来实现的多媒体功能,特别是针对音频文件中的MP3格式。在Java中,没有内置的直接支持MP3播放的API,因此开发人员需要依赖第三方库来处理这类任务。本项目就是基于一个名为JLayer的...
这个播放器设计的目标是实现类似于Winamp的功能,即在Java环境中播放MP3音频文件。 首先,我们来看看压缩包中的主要文件: 1. `jlGui.bat` 和 `jlGui.sh`: 这两个文件分别用于Windows和Unix/Linux系统启动Java应用...
文档中的 "java播放视频音频文件.doc" 可能包含了更详细的步骤、示例代码或者关于如何处理特定问题的指南,如错误处理、播放进度控制和用户界面集成等。在实际开发中,你可能需要结合这个文档来获取更全面的信息。 ...
java音频开发.mp3文件解码jmp123.jar
- **错误处理**:音频文件可能因各种原因损坏,确保代码能优雅地处理异常,提供反馈或恢复机制。 - **性能优化**:处理大文件时,避免一次性加载整个文件到内存,可以采用流式处理。 - **版权问题**:在进行音频剪辑...
Java 1.0.2 音频格式转换是一款基于Java平台的工具,它允许用户将不同的音频文件格式进行互换,特别提及的是可以将.wav格式的音频文件转换为.mp3格式。这种转换对于多媒体处理、音乐库管理和网络传输等方面非常有用...
Java MP3格式音乐的播放插件是用于在Java应用程序中播放MP3音频文件的软件组件。这个插件或库使得开发者能够轻松地集成音乐播放功能,无需依赖操作系统原生的媒体播放器。在Java平台上,由于它自身的跨平台特性,...