纯 Java 实现播放 mp3 音乐

/**
 * 此项目运行必须要安装 jmf.exe 安装程序才可以运行,下载地址为:http://cds-esd.sun.com/ESD4/JSCDL/jmf/2.1.1e/jmf-2_1_1e-windows-i586.exe?AuthParam=1270083439_0345a3550e265f8f98a1e6d7298b495e&TicketId=B%2Fw%2BnRSHSFpOShJLOVRZnQ%2Fh&GroupName=CDS&FilePath=/ESD4/JSCDL/jmf/2.1.1e/jmf-2_1_1e-windows-i586.exe&File=jmf-2_1_1e-windows-i586.exe
 *

*然后将其安装目录下的 lib/jmf.jar  添加到类路径即可       程序已经过测试,完全可以直接使用 MyEclipse 来运行

*/
public class PlayerMusic implements ControllerListener {
 
 private File[]file=new File[1];//存放MP3文件
 private Player player;//创建播放对象
 private int count=0;
 
 public void add(String str)throws Exception{//添加 MP3,可添加文件或目录
  File f=new File(str);
  if(f.exists()){
   if(f.isFile()){
    file[0]=f;
    System.out.println("已添加一个文件!");
   }else{
    file=f.listFiles();
    System.out.println("已添加"+file.length+"个文件");
   }
  }else{
   System.out.println("你所给出的路径不存在!");
  }
 }
 
 public void start(){//文件播放方法
  try {
   player = Manager.createPlayer(file[count].toURI().toURL());//将MP3文件添加进来
   player.addControllerListener(this);//注册监听
   player.prefetch();//提取媒体内容
  } catch (Exception e) {
   System.out.println("不能播放此文件!");
  }
 }

 public void controllerUpdate(ControllerEvent e) {
  if (e instanceof PrefetchCompleteEvent){//当提取媒体的内容结束
   System.out.println("文件:"+file[count].getName()+" 提取完毕,开始播放!");
   player.start();
   return;
  }
  if(e instanceof EndOfMediaEvent){//当前文件播放结束时,开始播放下一首
   count++;
   if(count<file.length){
    this.start();
   }
   return;
  }
 }
 
 public static void main(String[] args)throws Exception{
  PlayerMusic pm=new PlayerMusic();
  pm.add("F://KuGou//好听的歌");//支持目录和单个文件
  pm.start();
 }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值