JAVA播放MP3的完整代码---简单写个小例子

来源:互联网 发布:股票模拟软件 编辑:程序博客网 时间:2024/05/01 02:17
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;//是否循环播放private boolean first,loop;//文件路径private String path;//存放MP3文件private List<String> mp3List;//当前MP3文件数量private int mp3NO=0;PlayerMusic(List<String> 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);//提取媒体内容player.prefetch();}public void controllerUpdate(ControllerEvent e) {//当媒体播放结束时,循环播放if(e instanceof EndOfMediaEvent){mp3NO++;System.out.println(mp3NO);if(mp3NO<mp3List.size()){this.start();}return;}//当提取媒体的内容结束if (e instanceof PrefetchCompleteEvent) {System.out.println("内容结束");player.start();return;}//当实例化后if (e instanceof RealizeCompleteEvent) {System.out.println("实例化");//pack(); //执行pack()操作return;}}public static void main(String[] args){List<String> path=new ArrayList<String>();path.add("X:\\Song\\只对你有感觉.mp3");PlayerMusic play=new PlayerMusic(path);play.start();}}


原创粉丝点击