用Jbuilder9开发媒体播放器

http://tech.ddvip.com   2006年11月26日    社区交流

本文详细介绍用Jbuilder9开发媒体播放器

  首先在JVideoPlayerFrame类中声明如下几个变量:

Player player;
Component visualcom,controlcom;
boolean first=true,loop=false;
String currentDirectory;
FileDialog fd;

  player变量是Player类的对象,它是JMF的播放器对象:Visualcom和controlcom是Component类的对象,分别表示视觉部件和控制面板部件:loop表示是否循环播放,first表示只播放一次;currentDirectoly表示对话框的当前目录设置为上次关闭时的目录;fd是FileDialog类的对象,表示打开媒体文件对话框。

  下面来看看“打开”菜单项的动作触发执行的代码:

//打开文件
public void_jMenuFile_open_actionPerformed(ActionEvent e){
 //先创建一个对话框对象,标题设置为“打开媒体文件”
 FileDialog fd=new FileDialog(this,"打开媒体文件",FileDialog.LOAD);
 //然后设置该对话框的当前目录为上一次打开的目录
 fd.setDirectory(currentDirectory);
 //调用show函数显示该打开媒体文件对话框
 fd.show ();
 //如果用户放弃选择文件,则返回
 if(fd.getFile()==null)
  return;
  //设置当前目录为对话框中打开的目录,保存在currentDirectory变量中
  currentDirectory=fd.getDirectory();
  //如果JMF播放器对象存在,就关闭该播放器对象
  if(player!=null)
   player.close();
   //根据指定的目录和文件名创建一个媒体定位器(MediaLocator)对象,再利用该媒体定位器对象创建一个JMF播放器对象
   try{
    player =Manager.createPlayer(new MediaLocator(”file:”+fd.getDirectory() +fd.getFile()));
   }
   //捕获异常情况
   catch(java.io.IOException e2){
    System.out.println(e2);
    return;
   }
   catch (NoPlayerException e2){
    System.out.println(”不能找到播放器.”);
    return;
   }
  //如果创建播放器对象失败
  if (player==null){
   System.out.println(”无法创建播放器.”);
   return;
   first=false;
   //设置主界面的标题为媒体文件的目录名加上文件名
   this.setTitle("播放文件位置"+fd.getDirectory()+fd.getFile());
   //将JVideoPlayerFrame对象注册为来自JMF播放器对象的控制器事件的动作监听器
   //player.addControllerListener(this);
   //最后,让JMF播放器对象预先提取媒体文件的内容
   player.prefetch();
 }

  在“打开”菜单项执行相应的动作触发代码后,会进入到播放用户选择的媒体文件阶段。

责编:豆豆技术应用

正在加载评论...