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.以上内容就到这了,这是本人学习所得,仅供学习参考交流,写得不好,敬请见谅,如要转载,请注明出处,如有什么错误和不明白的地方,请评论或者发信息给我,我将及时改正,谢谢了!