一个关于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,不过我还不会用.