1.首先,要去网上下载个JMF工具,这个工具可以播放通常情况下的Mp3音乐文件和视频,也叫做Java媒体框架,可以去官网下载JMF官网下载,下载完之后,有个jmf的exe安装文件,双击打开进行安装,安装完成后,会在指定安装的目录下有3个文件夹,一个是bin,一个是doc,一个是lib,还有一个Uninst.isu文件,这里没有给出配置jmf环境的步骤,大家可以到百度查下如何配置,我的是直接把两个要用到的jar包添加进我们所需要的程序中,下面演示下如何添加所需要的jmf.jar和sound.jar包。
2.创建一个java工程,工程名为Music,然后再新建一个Music Class(类),选中工程右键选择Bulid Path,然后选择Configure Bulid Path...,点击进入后,出现下图页面:
3.因为我们要添加的库是jar包,点击Add External JARs...,点击Next,进入下一步就会跳出一个让你选择在你计算机里的jar包,我已经添加好了,要添加时选择你安装目录中的lib目录下的jmf.jar和sound.jar包,点击OK,就会在刚才新建的Music类中出现这两个包了,就如下图所示:
注:如果选择Add JARs...的话,会在你所有在eclipse工具下的工程中选择所需要的jar包,所以我们选择第二个。
4.接下来就要写代码了,在写代码之前,我们先把我们所需要播放的音乐文件放入本工程中,即Music项目,我放入的是一首张韶涵 - 欧若拉这首歌,我用两个按钮来实现的,用到了java swing图形化界面编程,接下来附上代码:
package com.music;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.IOException;
import javax.media.CannotRealizeException;
import javax.media.Manager;
import javax.media.MediaLocator;
import javax.media.NoPlayerException;
import javax.media.Player;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextArea;
public class Music{
/**
* @param args
*/
private static Player player=null;
private static JButton jb1,jb4;
private static JPanel jp;
private static Container c;
private static JTextArea ta;
public static boolean isPlay = true;
public boolean isPause = true;
public static void main(String[] args) {
// TODO Auto-generated method stub
JFrame jf=new JFrame();
jf.setTitle("播放一首音乐");
jf.setSize(300,200);
jf.setVisible(true);
jf.setLocationRelativeTo(null);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jp=new JPanel();
jp.setLayout(new FlowLayout());
jb1=new JButton("播放");
jb4=new JButton("停止");
jp.add(jb1);
jp.add(jb4);
jf.add(jp, BorderLayout.NORTH);
c = jf.getContentPane();
ta = new JTextArea();
c.add(ta, BorderLayout.CENTER);
jb1.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if (e.getSource().equals(jb1)) {
if (player == null) {
File f = new File("张韶涵 - 欧若拉.mp3");
if (f.exists()) {
MediaLocator locator = new MediaLocator("file:"
+ f.getAbsolutePath());
try {
player = Manager.createRealizedPlayer(locator);
player.prefetch();// 预读文件
} catch (NoPlayerException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (CannotRealizeException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
} else {
System.out.println(f + "找不到");
}
}
player.start();//播放该音乐
ta.setText("Hello Everyone!" + " "
+ "Listener to the music!");
ta.setBackground(Color.pink);
}
}
});
jb4.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
player.stop();//停止播放该音乐
player.realize();//释放资源
player.close();//关闭
ta.setText("Stop the music!");
ta.setBackground(Color.magenta);
}
});
}
}
5.点击运行,就出现下图所示的图形化界面:
6.点击播放按钮,就会播放欧若拉这首音乐,并出现下图界面:
7.点击停止按钮,便会停止播放该音乐,并且出现下图界面:
8.以上内容就到这了,这是本人学习所得,仅供学习参考交流,写得不好,敬请见谅,如要转载,请注明出处,如有什么错误和不明白的地方,请评论或者发信息给我,我将及时改正,谢谢了!