日期:2014-05-20  浏览次数:20736 次

一个关于java applet 中的AudioClip类的问题
代码如下:package   cn.junco.applet;

import   java.applet.Applet;
import   java.applet.AudioClip;
import   java.awt.Button;
import   java.awt.Choice;
import   java.awt.event.ActionEvent;
import   java.awt.event.ActionListener;

public   class   LoadSoundAppletDemo   extends   Applet   {
Button   bt;
Choice   songID;
String[]songItem;
AudioClip   mysong;
public   void   LoadSoundAppletDemoInit()   {
//   TODO   Auto-generated   constructor   stub
  songItem=   new   String[5];
  songItem[0]=getParameter( "song1 ");
  songItem[1]=getParameter( "song2 ");
  songItem[2]=getParameter( "song3 ");
  songItem[3]=getParameter( "song4 ");
  songItem[4]=getParameter( "song5 ");
  mysong=getAudioClip(getCodeBase(),songItem[0]);
  bt=new   Button( "播放 ");
  songID   =new   Choice();
  for(int   i=0;i <5;i++)
  {
  songID.addItem(songItem[i]);
  }
  bt.addActionListener(new   ActionListener(){     //ActionListener   是一个抽象的方法,但是在着里相当于是被继承覆写了
  public   void   actionPerformed(ActionEvent   evt)
  {
  play(evt);
  }
  });
 
  this.add(songID);
  this.add(bt);
}
   
  public   void   init()
  {
    try   {
 
LoadSoundAppletDemoInit();

}   catch   (Exception   e)   {
//   TODO:   handle   exception
}
  }
  void   play(ActionEvent   evt)
  {      
  mysong=null;
  switch(songID.getSelectedIndex())
  {
  case   0:mysong=getAudioClip(getCodeBase(),   songItem[0]);break;
  case   1:mysong=getAudioClip(getCodeBase(),   songItem[1]);break;
  case   2:mysong=getAudioClip(getCodeBase(),   songItem[2]);break;
  case   3:mysong=getAudioClip(getCodeBase(),   songItem[3]);break;
  case   4:mysong=getAudioClip(getCodeBase(),   songItem[4]);break;
  default:break;
  }
  mysong.play();
  }
}
html   中参数配置也是正确的   ,为什么参数中声音文件只有au格式可以播放,而mp3格式的不可以播放,请问java   中有没有哪个类可以用于播放mp3格式的文件?

------解决方案--------------------
AudioClip不支持MP3,有一个Java Media Frame(JMF)包含很多处理多媒体的API,不过我还不会用.