導航:首頁 > 編程語言 > 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相關的資料

熱點內容
皓強工具解壓步驟 瀏覽:688
部隊抗洪搶險命令範文 瀏覽:886
歐姆龍plc編程軟體使用教程 瀏覽:592
ai文件pdf 瀏覽:911
騰訊雲伺服器掛載混合雲 瀏覽:758
智能小車用什麼單片機 瀏覽:463
java怎麼給窗口關閉 瀏覽:940
列舉51單片機的定址方式 瀏覽:706
剪輯app怎麼寫長篇文字 瀏覽:400
app專屬流量過月租怎麼不更新 瀏覽:654
王者程序員都有誰 瀏覽:76
給牛換腳掌解壓 瀏覽:387
圍棋有多少種演算法 瀏覽:602
unity資源包在哪個文件夾 瀏覽:704
阿里雲伺服器遠程鏈接不成功 瀏覽:482
文件系統pdf 瀏覽:767
原神安卓區服什麼意思 瀏覽:37
貝殼app怎麼線上發布 瀏覽:161
如何挑選安卓系統機頂盒 瀏覽:54
安卓快充使用有什麼注意事項 瀏覽:911