播放音乐主要使用AudiaoClip接口,由于它是一个接口,不能直接创建,要使用
Applet类的getAudioClip(URL)方法获得AudioClip对象,getAudioClip(URL)方法
对URL的要求是全路径,需要使用getCodeBase()方法获取声音文件的地址。
AudiaoClip接口由三个方法:
loop():循环播放音乐
play():播放音乐
stop():停止播放音乐
Applet类的getAudioClip(URL)方法获得AudioClip对象,getAudioClip(URL)方法
对URL的要求是全路径,需要使用getCodeBase()方法获取声音文件的地址。
AudiaoClip接口由三个方法:
loop():循环播放音乐
play():播放音乐
stop():停止播放音乐
import java.awt.event.*;
import java.applet.Applet;
import java.applet.AudioClip;public class PlayMedia extends Applet implements ActionListener
{
AudioClip audio;
public void init()
{
Button btnPlay=new Button("Play");
Button btnStop=new Button("Stop");
add(btnPlay);
add(btnStop);
btnPlay.addActionListener(this);
btnStop.addActionListener(this);
try
{
audio=getAudioClip(getDocumentBase(),"e:MUSIC/1.mp3");
}
catch(Exception e)
{
System.out.println(e.toString());
}
}
public void actionPerformed (ActionEvent e)
{
if(e.getSource()=="Play")
{
try
{
audio.play ();
}
catch (Exception err)
{
System.out.println (err.toString ());
}
}
if(e.getSource()=="Stop")
{
try
{
audio.stop ();
}
catch (Exception err)
{
System.out.println (err.toString ());
}
}
}
}这样对不对,反正不能播放。
指出几点:
1。 if(e.getSource()=="Play")应该改为: if(e.getActionCommand()=="Play")
if(e.getSource()=="Stop")应该改为: if(e.ActionCommand()=="Stop")
或者:
if(e.getSource()=="Play")应该改为:if(e.getSource()==btnPlay)
if(e.getSource()=="Stop")应该改为:if(e.getSource()==btnStop)
但这样改的话btnPlay和btnStop必须在类的实例字段中声明,而不是在init()中声明。
如:class .....{
private JButton btnPlay;
.
.
.2。applet处理的声音文件格式必须是:AU,AIFF,WAV,MIDI,不知道有没有mp3的,好像没有吧。我也是初学者,如果我说得不对,权当抛砖引玉了,呵呵。
import java.awt.event.*;
import java.applet.Applet;
import java.applet.AudioClip;public class PlayMedia extends Applet implements ActionListener
{
AudioClip audio;
Button btnPlay;
Button btnStop;
public void init()
{
btnPlay=new Button("Play");
btnStop=new Button("Stop");
add(btnPlay);
add(btnStop);
btnPlay.addActionListener(this);
btnStop.addActionListener(this);
try
{
audio=getAudioClip(getDocumentBase(),"1.au");
}
catch(Exception e)
{
System.out.println(e.toString());
}
}
public void actionPerformed (ActionEvent e)
{
if(e.getSource()==btnPlay)
{
try
{
audio.play ();
}
catch (Exception err)
{
System.out.println (err.toString ());
}
}
if(e.getSource()==btnStop)
{
try
{
audio.stop ();
}
catch (Exception err)
{
System.out.println (err.toString ());
}
}
}
}