import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import javax.swing.*;
public class SoundLoop extends JApplet implements ActionListener{
/**
*
*/
private static final long serialVersionUID = 1L;
AudioClip audio;
JButton b1,b2,b3;
JPanel p = new JPanel();
public void init(){
try{
UIManager.setLookAndFeel(
UIManager.getSystemLookAndFeelClassName());
}catch(Exception e){}
audio = getAudioClip(getCodeBase(),"cry.mid");
p.add(b1=new JButton("播放"));
p.add(b2=new JButton("循环"));
p.add(b3=new JButton("停止"));
add(p, BorderLayout.SOUTH); b1.addActionListener(this);
b2.addActionListener(this); b3.addActionListener(this);
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==b1){
audio.play();
}else if(e.getSource()==b2){
audio.loop();
}else if(e.getSource()==b3){
audio.stop();
}
}
}
需要注意的是:cry.mid是要播放的音频文件,其中mid和au格式是java所支持的,这个地方不能换成音频文件的目录路径,确保音频文件和源码在同一个文件夹下!
测试用例:
test.html
<html>
<head>
<title>HelloWorldApplet
</title>
<body>
<Applet code="SoundLoop.class" width=400 height=300>
</Applet>
<body>
</head>
</html>