JMF 简单例子

import javax.media.*;
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("F:\\My Music\\C.N Blue-Love Girl.mp3");
//  path.add("F:\\My Music\\Bigbang-红霞.wma");
  PlayerMusic play=new PlayerMusic(path);
  play.start();
 }
}

只可以播放MP3格式的

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值