簡單的實例,代碼如下,純粹JMF加載MP3并播放:

創(chuàng)新互聯(lián)公司專注于做網(wǎng)站、成都網(wǎng)站制作、網(wǎng)頁設計、網(wǎng)站制作、網(wǎng)站開發(fā)。公司秉持“客戶至上,用心服務”的宗旨,從客戶的利益和觀點出發(fā),讓客戶在網(wǎng)絡營銷中找到自己的駐足之地。尊重和關懷每一位客戶,用嚴謹?shù)膽B(tài)度對待客戶,用專業(yè)的服務創(chuàng)造價值,成為客戶值得信賴的朋友,為客戶解除后顧之憂。
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);
// 提取媒體內(nèi)容
player.prefetch();
}
public void controllerUpdate(ControllerEvent e) {
// 當媒體播放結(jié)束時,循環(huán)播放
if (e instanceof EndOfMediaEvent) {
mp3NO++;
if(mp3NOthis.mp3List.size()){
this.start();
}
return;
}
// 當預提取媒體的內(nèi)容結(jié)束
if (e instanceof PrefetchCompleteEvent) {
player.start();
return;
}
// 當實例化后
if (e instanceof RealizeCompleteEvent) {
// pack(); //執(zhí)行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();
}
}
簡單寫個小例子
import javax.media.ControllerEvent;
import javax.media.ControllerListener;
import javax.media.NoPlayerException;
import javax.media.Player;
import javax.media.Manager;
import javax.media.MediaLocator;
import javax.media.EndOfMediaEvent;
import javax.media.PrefetchCompleteEvent;
import javax.media.RealizeCompleteEvent;
import java.io.*;
import java.util.*;
public class PlayerMusic implements ControllerListener {
//播放對象
private Player player;
//是否循環(huán)播放
private boolean first,loop;
//文件路徑
private String path;
//存放MP3文件
private ListString mp3List;
//當前MP3文件數(shù)量
private int mp3NO=0;
PlayerMusic(ListString mp3List)
{
this.mp3List=mp3List;
}
//播放方法
public void start()
{
try {
player = Manager.createPlayer(new File(mp3List.get(mp3NO)).toURI().toURL());
} catch (NoPlayerException e) {
// TODO 自動生成 catch 塊
e.printStackTrace();
System.out.println("不能播放此文件!");
return;
} catch (IOException e) {
// TODO 自動生成 catch 塊
e.printStackTrace();
return;
}
if(player==null)
{
System.out.println("播放文件為空!");
return;
}
player.addControllerListener(this);
//提取媒體內(nèi)容
player.prefetch();
}
public void controllerUpdate(ControllerEvent e) {
//當媒體播放結(jié)束時,循環(huán)播放
if(e instanceof EndOfMediaEvent)
{
mp3NO++;
System.out.println(mp3NO);
if(mp3NOmp3List.size())
{
this.start();
}
return;
}
//當提取媒體的內(nèi)容結(jié)束
if (e instanceof PrefetchCompleteEvent) {
System.out.println("內(nèi)容結(jié)束");
player.start();
return;
}
//當實例化后
if (e instanceof RealizeCompleteEvent) {
System.out.println("實例化");
//pack(); //執(zhí)行pack()操作
return;
}
}
public static void main(String[] args)
{
ListString path=new ArrayListString();
path.add("F:\\歌曲\\天下.mp3");
path.add("F:\\歌曲\\畫心.mp3");
path.add("F:\\歌曲\\只對你有感覺.mp3");
PlayerMusic play=new PlayerMusic(path);
play.start();
}
}
我來說吧
我做過的
如果沒有第三方類庫的話
JAVA支持不了
MP3
只能支持MID等音樂剪切文件
如果想要播放MP3的話一定要去SUN網(wǎng)站去下一個JMF類庫
此類庫是用于煤體操作的
下好之后安裝要放在你原來的JDK同文件下
測試的話
你可以在編寫一個Player這個接口如果可以補全
那你JMF就對了
具體的這里也說不清
但是有一點
如果播放MP3格式
必須要JMF第三方類庫
// 你看看吧。。 必須下載 jmf包 如果不知道下載就問我吧
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import javax.media.bean.playerbean.MediaPlayer; //必須下載 jmf 媒體播放包
public class player extends Applet implements ActionListener {
Button b1, b2;
MediaPlayer player;
public void init() {
player = new MediaPlayer();
setLayout(new FlowLayout());
try{
player.setMediaLocation("file:/F:\\音樂\\mp3\\黑白配.mp3");// file:/不能刪除 音頻文件路徑
} catch (Exception e) {
System.out.println("文件不存在");
}
b1 = new Button("播放");
b2 = new Button("停止");
add(b1);
add(b2);
b1.addActionListener(this);
b2.addActionListener(this);
setSize(200, 200);
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == b1) {
player.start();
} else if (e.getSource() == b2) {
player.stop();
System.out.println(player.getMediaTime().getSeconds());
}
}
}
直接下個JMF,google搜,sun官網(wǎng)上有~~然后安裝目錄是你的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的方法就會了。。。我以前回答別人時的答案~~~
網(wǎng)站欄目:java代碼中播放mp3的簡單介紹
文章起源:http://chinadenli.net/article14/hipdge.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、商城網(wǎng)站、定制開發(fā)、靜態(tài)網(wǎng)站、外貿(mào)建站、電子商務
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)