[JAVA100例]078、播放声音

import java.applet.*;
import java.awt.event.*;
import java.awt.*;
/**
* <p>Title: Applet播放声音文件</p>
* <p>Description: 使用AudioClip类加载声音文件,并当鼠标点击后开始播放</p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Filename: PlayAudio.java</p>
* @version 1.0
*/
public class PlayAudio extends Applet
implements ActionListener{
AudioClip audio;
Button btExit,btOpen,btPlay,btLoop,btStop;
/**
*<br>方法说明:初始化Applet
*<br>输入参数:
*<br>返回类型:
*/
public void init() {
//加载声音文件
audio = getAudioClip(getDocumentBase(),"img/1.mid");
//构造按钮
setLayout(new FlowLayout()); //使用布局管理器
btPlay=new Button("Play"); //定义Play按钮        
btPlay.addActionListener(this); //给Play按钮添加一个监听事件
btLoop=new Button("Loop"); //定义Play按钮
btLoop.addActionListener(this); //给Play按钮添加一个监听事件
btStop=new Button("Stop"); //定义Play按钮
btStop.addActionListener(this); //给Play按钮添加一个监听事件
//将按钮添加到Applet中
add(btPlay);
add(btLoop);
add(btStop);
}
public void actionPerformed(ActionEvent e) {
//如果点击的是Play按钮
if (e.getSource()==btPlay) {
    play();
}
//如果点击的是loop按钮
if (e.getSource()==btLoop) {
    loop();
}
//如果点击的是stop按钮
if (e.getSource()==btStop) {
    stop();
}
}
/**
*<br>方法说明:播放声音
*<br>输入参数:
*<br>返回类型:
*/
public void play(){
  if (audio!=null) stop();
  audio.play();
}
/**
*<br>方法说明:循环播放声音
*<br>输入参数:
*<br>返回类型:
*/
public void loop(){
  if (audio!=null)
  audio.loop();
}
/**
*<br>方法说明:停止播放声音
*<br>输入参数:
*<br>返回类型:
*/
public void stop(){
  if (audio!=null)
  audio.stop();

}
}

时间: 2024-09-20 00:34:28

[JAVA100例]078、播放声音的相关文章

JAVA100例专题

[JAVA100例]041.执行系统命令 [JAVA100例]078.播放声音 [JAVA100例]077.应用JAR包 [JAVA100例]076.在Applet中使用Swing [JAVA100例]075.检测键盘事件 [JAVA100例]074.检测鼠标事件 [JAVA100例]073.传递参数 [JAVA100例]072.欢迎进入Applet世界 [JAVA100例]071.使用JDOM操作XML [JAVA100例]070.使用JDOM解析XML [JAVA100例]069.使用SAX

[JAVA100例]041、执行系统命令

import java.io.*; /** * <p>Title: 运行系统命令</p> * <p>Description:运行一个系统的命令,演示使用Runtime类.</p> * <p>Copyright: Copyright (c) 2003</p> * <p>Filename: CmdExec.java</p> * @version 1.0 */ public class CmdExec { /** *

[JAVA100例]039、生成PDF文件

import com.lowagie.text.*; import com.lowagie.text.pdf.*; import java.io.*; import java.util.*; import java.awt.Color; /** * <p>Title: 生成PDF文件</p> * <p>Description: 本实例通过使用iText包生成一个表格的PDF文件</p> * <p>Copyright: Copyright (c)

[JAVA100例]071、使用JDOM操作XML

import org.jdom.*; import org.jdom.output.*; import java.io.*; import java.util.List; /** * <p>Title: 使用JDOM操作XML文件.</p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2003</p> * <p>Filename: JDOMOption.java

[JAVA100例]070、使用JDOM解析XML

import org.jdom.*; import org.jdom.input.*; import org.jdom.output.*; import java.io.*; import java.util.List; /** * <p>Title: 使用JDOM解析XML</p> * <p>Description: 通过使用JDOM接口解析book.xml文件</p> * <p>Copyright: Copyright (c) 2003<

[JAVA100例]069、使用SAX解析XML

ReadXmlDemo.java import java.io.*; import javax.xml.parsers.*; import org.xml.sax.*; import org.xml.sax.helpers.*; public class ReadXmlDemo extends DefaultHandler { public static void main(String[] arguments) { if (arguments.length > 0){ ReadXmlDemo

[JAVA100例]068、使用DOM解析XML

import javax.xml.parsers.*; import org.w3c.dom.*; import java.io.*; public class DOMPageList { public static void main(String[] args) { try { //创建解析工厂 DocumentBuilderFactory dbfactory = DocumentBuilderFactory.newInstance(); //指定DocumentBuilder Docume

[JAVA100例]067、线程优先级

import java.util.*; /** * <p>Title: 提高线程优先级</p> * <p>Description: 通过修改线程的优先级,是线程获得优先处理.</p> * <p>Copyright: Copyright (c) 2003</p> * <p>Filename: upPRIThread.java</p> * @version 1.0 */ public class upPRIThre

[JAVA100例]066、线程控制

/** * <p>Title: 线程控制</p> * <p>Description: 实现对线程的控制,中断.挂起.恢复.停止</p> * <p>Copyright: Copyright (c) 2003</p> * <p>Filename: threadCtrl.java</p> * @version 1.0 */ public class threadCtrl{ public static void mai