导航:首页 > 编程语言 > java读取mp3

java读取mp3

发布时间:2022-10-22 05:26:14

java如何读取MP3格式文件的内容然后对其播放实例代码

直接下个JMF,google搜,sun官网上有~~然后安装目录是你的JDK,
再播放MP3文件就:
import javax.media.*;
import java.net.MalformedURLException;
import java.net.URL;

Player player;
File playFile=new File("");//你的MP3文件
try {
player=Manager.createRealizedPlayer(playFile.toURL());
player.prefetch();
player.setMediaTime(new Time(10.0));
player.start();
} catch (NoPlayerException e1)
{
e1.printStackTrace();
} catch (CannotRealizeException e1)
{
e1.printStackTrace();
} catch (MalformedURLException e1)
{
e1.printStackTrace();
} catch (IOException e1)
{
e1.printStackTrace();
}
这种基本代码,自己搜一下,用编译器熟悉熟悉JMF的方法就会了。。。我以前回答别人时的答案~~~

② java 如何读写远程mp3文件

//:URLReader.java ==================

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.net.URL;
public class URLReader {
public static void readAndSave(String url,String fileFullName)throws Exception{
System.out.println("Starting.");
URL u = new URL(url);
byte[] buffer = new byte[1024*8];
int read;
int ava = 0;
long start = System.currentTimeMillis();
BufferedInputStream bin = new BufferedInputStream(u.openStream());
BufferedOutputStream bout = new BufferedOutputStream(new FileOutputStream(fileFullName));
while((read=bin.read(buffer))>-1){
bout.write(buffer,0,read);
ava+=read;
long speed = ava/(System.currentTimeMillis()-start);
System.out.println("Download: "+ava+" byte(s)"+" avg speed: "+speed+" (kb/s)");
}
bout.flush();
bout.close();
System.out.println("Done. size:"+ava+" byte(s)");
}
public static void main(String[] args) throws Exception {
URLReader.readAndSave(
"http://51hr.28tel.com.tw/UploadFile/Record/20090531114140.mp3",
"d:/双人舞.mp3");
}
}

======================================================
输出显示:
Starting.
Download: 8192 byte(s) avg speed: 6 (kb/s)
Download: 8385 byte(s) avg speed: 6 (kb/s)
Download: 16577 byte(s) avg speed: 11 (kb/s)
Download: 17025 byte(s) avg speed: 11 (kb/s)
Download: 25217 byte(s) avg speed: 15 (kb/s)
Download: 25665 byte(s) avg speed: 16 (kb/s)
Download: 33857 byte(s) avg speed: 19 (kb/s)
Download: 34305 byte(s) avg speed: 19 (kb/s)

③ java程序读取mp3文件的播放时间时间!

MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setDataSource("D://aaa.mp3");
mediaPlayer.prepare();
int time = mediaPlayer.getDuration();
time就是时长

④ java中如何获取音频(mp3)长度

1.采样率。
2.压缩格式。
基本上就跟这俩东西有关了。
有了这个以后,可以根据文件的大小来计算播放时长。
至于具体的,我也没算过。我觉得你可以cut一段音乐,比如wma格式的,看看一分钟是多大。然后用你的文件大小来和这个标准文件作比较。
还有其他方法就是借助外部包jar,也可使用JMF框架。

⑤ java如何实现播放mp3

简单的实例,代码如下,纯粹JMF加载MP3并播放:
import javax.media.*;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

public class PlayerMusic implements ControllerListener {// ControllerListener
// 控制事件
private Player player;

private boolean first, loop;

private String path;
private List mp3List;
private int mp3NO = 0;

PlayerMusic(List mp3List) {
this.mp3List = mp3List;
}

public void start() {
try {
player = Manager.createPlayer(new MediaLocator("file://" + mp3List.get(mp3NO)));
} catch (NoPlayerException ex) {
ex.printStackTrace();
System.out.println("不能播放文件");
return;
} catch (IOException ex) {
ex.printStackTrace();
return;
}
if (player == null) {
System.out.println("播放器为空");
return;
}

first = false;
player.addControllerListener(this);
// 提取媒体内容
player.prefetch();

}

public void controllerUpdate(ControllerEvent e) {
// 当媒体播放结束时,循环播放
if (e instanceof EndOfMediaEvent) {
mp3NO++;
if(mp3NO<this.mp3List.size()){
this.start();
}
return;
}

// 当预提取媒体的内容结束
if (e instanceof PrefetchCompleteEvent) {
player.start();
return;
}
// 当实例化后
if (e instanceof RealizeCompleteEvent) {
// pack(); //执行pack()操作
return;
}

}
public static void main(String[] args) {
List mp3List = new ArrayList();
mp3List.add("d://a.mp3");
mp3List.add("d://b.mp3");
mp3List.add("d://c.mp3");
PlayerMusic pm = new PlayerMusic(mp3List);
pm.start();
}
}

⑥ java 怎么读取音乐文件

  1. 以随机读写方式打开一个MP3文件

  2. 将文件指针偏移量移动到文件长度倒数128位

  3. 判断标签头"TAG"是否存在

  4. 读取TAG_V1中的各个内容

  5. 关闭文件

TAG_V1(长度是固定的)其中包括的信息有:

标签头"TAG"3字节

标题30字节

作者30字节

专辑30字节

出品年份4字节

备注信息28字节

保留1字节

音轨1字节

类型1字节

入一个MP3文件的TAG_V1部分信息:

bytebuf = new byte[128];//初始化标签信息的byte数组

RandomAccessFile raf = new RandomAccessFile(mp3, "r");//随机读写方式打开MP3文件

raf.seek(raf.length() - 128);//移动到文件MP3末尾

raf.read(buf);//读取标签信息

raf.close();//关闭文件

if(buf.length != 128){//数据长度是否合法

throw new Exception("MP3标签信息数据长度不合法!");

}

if(!"TAG".equalsIgnoreCase(new String(buf,0,3))){//标签头是否存在

throw new Exception("MP3标签信息数据格式不正确!");

}

获得TAG_V1中的各个内容:

String SongName=new String(buf,3,30,"utf-8").trim();//歌曲名称

String Artist=new String(buf,33,30,"utf-8").trim();//歌手名字

String Album=new String(buf,63,30,"utf-8").trim();//专辑名称

String Year=new String(buf,93,4,"utf-8").trim();//出品年份

StringComment =new String(buf,97,28,"utf-8").trim();//备注信息

⑦ Java 怎样获取Mp3文件的播放时长

File file = new File("G:\\8.mp3");
long total = 0;
try {
AudioFileFormat aff = AudioSystem.getAudioFileFormat(file);
Map props = aff.properties();
if (props.containsKey("ration"))
total = (long) Math.round((((Long) props.get("ration"))
.longValue())/1000);
System.out.println(total);
} catch (UnsupportedAudioFileException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

⑧ Java 怎么读取mp3文件的信息,比如:歌曲名称,专辑名称,歌手,备注等信息

JDK本身是不支持mp3格式的。不过网上有提供JAR包下载,导入就可以了。

⑨ java文件读取读取指定目录的所有mp3文件,包括所有子目录,将所读取的文件名呈现在控制台

此方法采用递归法搜索所有F盘的MP3和Flac文件。

不想搜flac文件的话,把 |s.endsWith("flac") 删掉即可。

图片是源码排版。

源码如下

import java.io.File;


class TestDemo {

public static void main(String[] args) {

File file = new File("f:\");

isMusic(file);


}

public static void isMusic(File f) {

File[] file = f.listFiles();

if (file != null) {

for (File file2 : file) {

if (file2.isFile()) {

String s = file2.getPath();

if (s.endsWith("mp3") | s.endsWith("flac")) {

System.out.println(s);

}

} else {

isMusic(file2);

}

}

}

}

}

阅读全文

与java读取mp3相关的资料

热点内容
程序员的种类及名称 浏览:290
美国程序员薪资 浏览:12
黑石通汇证券服务器什么时候到期 浏览:391
东方财富app里我的关注怎么看 浏览:747
bm3d单反级降噪算法 浏览:457
华为安卓机激活时间怎么查询 浏览:850
如何用优盘重装服务器系统 浏览:317
日本结婚三代算法 浏览:920
皓强工具解压步骤 浏览:690
部队抗洪抢险命令范文 浏览:888
欧姆龙plc编程软件使用教程 浏览:594
ai文件pdf 浏览:912
腾讯云服务器挂载混合云 浏览:758
智能小车用什么单片机 浏览:463
java怎么给窗口关闭 浏览:940
列举51单片机的寻址方式 浏览:706
剪辑app怎么写长篇文字 浏览:400
app专属流量过月租怎么不更新 浏览:655
王者程序员都有谁 浏览:78
给牛换脚掌解压 浏览:389