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格式 您还可以调整视频大小,更改其大小和比例等 本文实例实用于任何Windows,MacOS,Linux系统 附:完整jar项目,完善的demo,详细的注释,简单易操作
java音频开发.mp3文件解码jmp123.jar
这是一个用Java语言编写的音频转换源码。ConvertAudioFileFormat_Code.rar内是Myeclipse工程文件,导入Myeclipse即可调试使用。代码只演示了从wav转到Mp3,需要其他的类型的转换,请参考JAVE-Manual。
amr MP3文件java 将amr转换为MP3文件
java音频剪辑支持MP3wav 根据时间剪辑
用java实现的音乐播放器,能实现播放MP3格式的音乐,显示歌词(歌词文件与音乐文件在同一文件夹中),播放模式(循环播放,列表循环)等等
网页格式直接返回语音,JAVA程序将POST调用返回的二进制数据流以字节流的方式存储在本地.mp3文件中。鉴于百度语音合成REST API的文档比较模糊,并没提供范例,故提供此下载。程序经测试可运行,只是需要你创建百度...
你得先装JMF才可以用,可以播放MP3。
Java播放wav音频功能的实现代码,播放wav音频,压缩包中带有测试音频,是否能播放 MP3,未知。 boolean looping = false; //是否循环播放 String[] choics = { "chimes.wav", "start.wav" }; //声音文件名数组...
这个jar包用来解析MP3的音频文件,可以使用java的sound包中的类进行播放MP3音频文件
java版amr文件转mp3 使用的是jave类库 amr文件无法在web上直接播放,使用此小工具程序可以将amr转换为可以web播放的mp3格式
java获取网络音乐文件时长,自己整理的三种方法
2、Java实现播放pcm音频文件(PCMPlay.java) WAV:wav是一种无损的音频文件格式,WAV符合 PIFF(Resource Interchange File Format)规范。所有的WAV都有一个文件头,这个文件头音频流的编码参数。WAV对音频流的编码...
官网下载的有用文档,避免访问不了参考用 博文链接:https://gdp8.iteye.com/blog/1535993
ava获取MP3文件详细信息
Java实现amr文件转mp3,可转换微信和微信公众号内的录音文件! 原理是使用ffmpeg实现,跨平台,支持 linux、window、mac等环境!
mp3程序,java开发的适合新手学习语法以及函数使用。
自己用java语言写的MP3音乐解析类,可以获取MP3格式音乐的详细信息。
以前做项目用到java播放mp3文件,从官网下载了支持mp3 的spi 。 还有一个播放mp3的实例,绝对能用。 抛开JMF java一样很好很强大. 有一个java开源项目 做的mp3播放器源码,java播放器YOYOPlayer下次上传
Java中使用Jacob实现Windows下语音合成并生成音频文件示例代码.rar